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

: RelatedPersonToProxyForSubjectOfCare - JSON Representation

Draft as of 2026-03-24

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "RelatedPerson-ProxyForSubjectOfCare",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap RelatedPerson-ProxyForSubjectOfCare</b></p><a name=\"RelatedPerson-ProxyForSubjectOfCare\"> </a><a name=\"hcRelatedPerson-ProxyForSubjectOfCare\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/RelatedPerson-ProxyForSubjectOfCare<span style=\"color: navy\">&quot; = &quot;</span>RelatedPersonToProxyForSubjectOfCare<span style=\"color: navy\">&quot;\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> &quot;</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\">&quot; </span><b>alias </b>RelatedPerson <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</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\">&quot; </span><b>alias </b>Proxy <b>as </b><b>target</b>\r\n\r\n<b>group </b>Proxy<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>RelatedPerson, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>Proxy<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.id = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>id<span style=\"color: navy\">)</span> <i>&quot;setProxyId&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span> tgt.meta<b> as </b><span style=\"color: maroon\">meta</span><span style=\"color: navy\">, </span> meta.dataClass<b> as </b><span style=\"color: maroon\">dataClass</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>dataClass.name = <span style=\"color: blue\">'Proxy for Subject of Care'</span> <i>&quot;3962abac-af28-4327-ab68-7caa99f87b8d&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setDataClassName&quot;</i><span style=\"color: navy\">;</span>\r\n  src.patient<b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.subjectOfCare<b> as </b><span style=\"color: maroon\">subjectOfCare</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>subjectOfCare.id = evaluate<span style=\"color: navy\">(</span>patient<span style=\"color: navy\">, </span>reference.replace('Patient/','')<span style=\"color: navy\">)</span> <i>&quot;f1ead33b-b3a9-4663-bbd9-069092e273cf&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>subjectOfCare.type = <span style=\"color: blue\">'SubjectOfCare'</span> <i>&quot;e9525080-6679-4c08-8964-80750507d37f&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>subjectOfCare.display = evaluate<span style=\"color: navy\">(</span>patient<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>&quot;ad81f3dd-86eb-4da9-925e-c183b848a391&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;7abc1d2b-e964-4093-aa38-e4a0fc2f12ff&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setProxySubject&quot;</i><span style=\"color: navy\">;</span>\r\n  src.relationship<b> as </b><span style=\"color: maroon\">relationshipCodeableConcept</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.relationship<b> as </b><span style=\"color: maroon\">relationship</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>relationship.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/person-marital-status'</span> <i>&quot;969a90c2-b837-46ed-b0c1-1a5041beab0b&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>relationship.code = evaluate<span style=\"color: navy\">(</span>relationshipCodeableConcept<span style=\"color: navy\">, </span>coding.code<span style=\"color: navy\">)</span> <i>&quot;c15501ec-5665-4143-96cd-5da339065397&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>relationship.display = evaluate<span style=\"color: navy\">(</span>relationshipCodeableConcept<span style=\"color: navy\">, </span>coding.display<span style=\"color: navy\">)</span> <i>&quot;f1a41f9f-69bd-4407-b0ae-9452e726e2fa&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;8622ee2e-a48b-44f5-8fc7-e41029dd62a4&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setProxyRelationship&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.name<b> as </b><span style=\"color: maroon\">name</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src.name<b> as </b><span style=\"color: maroon\">humanName</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>name.given = evaluate<span style=\"color: navy\">(</span>humanName<span style=\"color: navy\">, </span>given<span style=\"color: navy\">)</span> <i>&quot;50623afe-a95a-4503-8470-015a6c042835&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>name.family = evaluate<span style=\"color: navy\">(</span>humanName<span style=\"color: navy\">, </span>family<span style=\"color: navy\">)</span> <i>&quot;fde0cd17-a67f-45a5-b751-2c782565090d&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;setProxyFamilyAndGivenName&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setProxyName&quot;</i><span style=\"color: navy\">;</span>\r\n  src.address<b> as </b><span style=\"color: maroon\">address</span><span style=\"color: navy\"><b> -&gt; </b></span>src.addresses<b> as </b><span style=\"color: maroon\">addresses</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    addresses<b> as </b><span style=\"color: maroon\">addr</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      address<span style=\"color: navy\"><b> -&gt; </b></span>addr.addressEntry1 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[0]<span style=\"color: navy\">)</span> <i>&quot;e05ed7c5-de2c-4dcf-a61d-d65d25c22e71&quot;</i><span style=\"color: navy\">;</span>\r\n      address<span style=\"color: navy\"><b> -&gt; </b></span>addr.addressEntry2 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[1]<span style=\"color: navy\">)</span> <i>&quot;eb789793-140c-4101-80d2-86d338377b11&quot;</i><span style=\"color: navy\">;</span>\r\n      address<span style=\"color: navy\"><b> -&gt; </b></span>addr.addressEntry3 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[2]<span style=\"color: navy\">)</span> <i>&quot;8e8bd8c5-c226-4be4-9196-3af02f0f74d7&quot;</i><span style=\"color: navy\">;</span>\r\n      address<span style=\"color: navy\"><b> -&gt; </b></span>addr.addressEntry4 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[3]<span style=\"color: navy\">)</span> <i>&quot;76b791a2-1ef3-465b-b7d7-b2d0e975837f&quot;</i><span style=\"color: navy\">;</span>\r\n      address<span style=\"color: navy\"><b> -&gt; </b></span>addr.postCode = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>postalCode<span style=\"color: navy\">)</span> <i>&quot;e7361fe5-f432-46b3-8aab-e945dc1fa4fe&quot;</i><span style=\"color: navy\">;</span>\r\n      address.extension<b> as </b><span style=\"color: maroon\">countryExt</span><b> where </b>$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry'<b> then</b><span style=\"color: navy\"> {\r\n</span>        address<span style=\"color: navy\"><b> -&gt; </b></span>addr.country<b> as </b><span style=\"color: maroon\">country</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          address<span style=\"color: navy\"><b> -&gt; </b></span>country.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/country'</span> <i>&quot;ed6d2b05-7402-4dca-84e8-b54ebe83595b&quot;</i><span style=\"color: navy\">;</span>\r\n          address<span style=\"color: navy\"><b> -&gt; </b></span>country.code = evaluate<span style=\"color: navy\">(</span>countryExt<span style=\"color: navy\">, </span>valueCoding.code<span style=\"color: navy\">)</span> <i>&quot;8e995954-3551-479c-9abe-470f12e691d3&quot;</i><span style=\"color: navy\">;</span>\r\n          address<span style=\"color: navy\"><b> -&gt; </b></span>country.display = evaluate<span style=\"color: navy\">(</span>countryExt<span style=\"color: navy\">, </span>valueCoding.display<span style=\"color: navy\">)</span> <i>&quot;aec6988f-b119-452a-8799-d9fdeba2a6f7&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;68e7bbdd-e76e-480c-9668-3c3f9785844e&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;1fadf555-c8b2-4ea3-a3b0-69cc7f0dd34c&quot;</i><span style=\"color: navy\">;</span>\r\n    addresses<span style=\"color: navy\"><b> -&gt; </b></span>tgt.address <i>&quot;0ceffdae-391c-46a7-be2c-8f2e326d75df&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setProxyAddress&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.contactDetails<b> as </b><span style=\"color: maroon\">contactDetails</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src.telecom<b> as </b><span style=\"color: maroon\">emailAddress</span><b> where </b>$this.system='email'<span style=\"color: navy\"><b> -&gt; </b></span>contactDetails.emailAddressDetails<b> as </b><span style=\"color: maroon\">emailAddressDetails</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>emailAddressDetails.emailAddress = evaluate<span style=\"color: navy\">(</span>emailAddress<span style=\"color: navy\">, </span>value<span style=\"color: navy\">)</span> <i>&quot;852fbd38-2bab-4798-9e9a-47347446e3c1&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>emailAddressDetails.preferredOrder = evaluate<span style=\"color: navy\">(</span>emailAddress<span style=\"color: navy\">, </span>rank<span style=\"color: navy\">)</span> <i>&quot;1d8fab4d-380e-48a0-bf21-3475ec3aa622&quot;</i><span style=\"color: navy\">;</span>\r\n      emailAddress.extension<b> as </b><span style=\"color: maroon\">emailAddressTypeExt</span><b> where </b>$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonEmailAddressType'<b> then</b><span style=\"color: navy\"> {\r\n</span>        src<span style=\"color: navy\"><b> -&gt; </b></span>emailAddressDetails.type<b> as </b><span style=\"color: maroon\">emailAddressType</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          src<span style=\"color: navy\"><b> -&gt; </b></span>emailAddressType.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/person-email-address-type'</span> <i>&quot;799e594a-e1ae-461f-b511-12fa9230becc&quot;</i><span style=\"color: navy\">;</span>\r\n          src<span style=\"color: navy\"><b> -&gt; </b></span>emailAddressType.code = evaluate<span style=\"color: navy\">(</span>emailAddressTypeExt<span style=\"color: navy\">, </span>valueCoding.code<span style=\"color: navy\">)</span> <i>&quot;ac0f5c3a-cff5-4ef2-94d5-71a40c2e81c8&quot;</i><span style=\"color: navy\">;</span>\r\n          src<span style=\"color: navy\"><b> -&gt; </b></span>emailAddressType.display = evaluate<span style=\"color: navy\">(</span>emailAddressTypeExt<span style=\"color: navy\">, </span>valueCoding.display<span style=\"color: navy\">)</span> <i>&quot;ab1af801-bd61-468d-86d1-197a0caae4bf&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;c8c18109-be37-4266-bd00-0b7083daf158&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    src.telecom<b> as </b><span style=\"color: maroon\">telephoneNumber</span><b> where </b>$this.system='phone'<span style=\"color: navy\"><b> -&gt; </b></span>contactDetails.telephoneDetails<b> as </b><span style=\"color: maroon\">telephoneNumberDetails</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>telephoneNumberDetails.telephoneNumber = evaluate<span style=\"color: navy\">(</span>telephoneNumber<span style=\"color: navy\">, </span>value<span style=\"color: navy\">)</span> <i>&quot;df200086-4111-4fc0-a773-6ca4d66e52de&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>telephoneNumberDetails.preferredOrder = evaluate<span style=\"color: navy\">(</span>telephoneNumber<span style=\"color: navy\">, </span>rank<span style=\"color: navy\">)</span> <i>&quot;28039973-32d4-4d16-adc5-5d764bc8956d&quot;</i><span style=\"color: navy\">;</span>\r\n      telephoneNumber.extension<b> as </b><span style=\"color: maroon\">telephoneNumberExt</span><b> where </b>$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonTelephoneNumberType'<b> then</b><span style=\"color: navy\"> {\r\n</span>        src<span style=\"color: navy\"><b> -&gt; </b></span>telephoneNumberDetails.type<b> as </b><span style=\"color: maroon\">telephoneNumberType</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          src<span style=\"color: navy\"><b> -&gt; </b></span>telephoneNumberType.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/person-telephone-type'</span> <i>&quot;1b991f78-0946-4a80-94ff-0b6214ad8a11&quot;</i><span style=\"color: navy\">;</span>\r\n          src<span style=\"color: navy\"><b> -&gt; </b></span>telephoneNumberType.code = evaluate<span style=\"color: navy\">(</span>telephoneNumberExt<span style=\"color: navy\">, </span>valueCoding.code<span style=\"color: navy\">)</span> <i>&quot;a291ccde-c5fd-4762-b037-3465f13ea674&quot;</i><span style=\"color: navy\">;</span>\r\n          src<span style=\"color: navy\"><b> -&gt; </b></span>telephoneNumberType.display = evaluate<span style=\"color: navy\">(</span>telephoneNumberExt<span style=\"color: navy\">, </span>valueCoding.display<span style=\"color: navy\">)</span> <i>&quot;8fcd7d68-9796-4d7d-a334-f246f9d6b484&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;683b404c-2ab5-4f03-a0b9-0d24e5a64916&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setProxyContactDetails&quot;</i><span style=\"color: navy\">;</span>\r\n  src.extension<b> as </b><span style=\"color: maroon\">careProviderExt</span><b> where </b>$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonCareProvider'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.organisation<b> as </b><span style=\"color: maroon\">organisation</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    careProviderExt.valueReference<b> as </b><span style=\"color: maroon\">careProviderReference</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>organisation.id = evaluate<span style=\"color: navy\">(</span>careProviderReference<span style=\"color: navy\">, </span>identifier.value<span style=\"color: navy\">)</span> <i>&quot;416b8dcb-e752-4822-a464-1c10fc33a8f9&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>organisation.type = <span style=\"color: blue\">'CareOrganisation'</span> <i>&quot;6e6c8b87-c6db-404a-8af2-f8086f0ff727&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>organisation.display = evaluate<span style=\"color: navy\">(</span>careProviderReference<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>&quot;2a557171-8d94-46f2-9505-9639873c3294&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setProxyOrganisation&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/RelatedPerson-ProxyForSubjectOfCare",
  "version" : "0.1.0",
  "name" : "RelatedPersonToProxyForSubjectOfCare",
  "status" : "draft",
  "date" : "2026-03-24T16:18:08+00:00",
  "publisher" : "Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform",
  "contact" : [
    {
      "name" : "Synanetics Ltd on behalf of DHSC/Social Care Interoperability Platform",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://synanetics.com"
        },
        {
          "system" : "email",
          "value" : "info@synanetics.com"
        }
      ]
    }
  ],
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "GB",
          "display" : "United Kingdom of Great Britain and Northern Ireland"
        }
      ]
    }
  ],
  "structure" : [
    {
      "url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-RelatedPerson",
      "mode" : "source",
      "alias" : "RelatedPerson"
    },
    {
      "url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-ProxyForSubjectOfCare",
      "mode" : "target",
      "alias" : "Proxy"
    }
  ],
  "group" : [
    {
      "name" : "Proxy",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "RelatedPerson",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "type" : "Proxy",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "setProxyId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "evaluate",
              "parameter" : [
                {
                  "valueId" : "src"
                },
                {
                  "valueString" : "id"
                }
              ]
            }
          ]
        },
        {
          "name" : "setDataClassName",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "meta",
              "variable" : "meta"
            },
            {
              "context" : "meta",
              "contextType" : "variable",
              "element" : "dataClass",
              "variable" : "dataClass"
            }
          ],
          "rule" : [
            {
              "name" : "3962abac-af28-4327-ab68-7caa99f87b8d",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "dataClass",
                  "contextType" : "variable",
                  "element" : "name",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Proxy for Subject of Care"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setProxySubject",
          "source" : [
            {
              "context" : "src",
              "element" : "patient",
              "variable" : "patient"
            }
          ],
          "rule" : [
            {
              "name" : "7abc1d2b-e964-4093-aa38-e4a0fc2f12ff",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "subjectOfCare",
                  "variable" : "subjectOfCare"
                }
              ],
              "rule" : [
                {
                  "name" : "f1ead33b-b3a9-4663-bbd9-069092e273cf",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "subjectOfCare",
                      "contextType" : "variable",
                      "element" : "id",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "patient"
                        },
                        {
                          "valueString" : "reference.replace('Patient/','')"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "e9525080-6679-4c08-8964-80750507d37f",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "subjectOfCare",
                      "contextType" : "variable",
                      "element" : "type",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "SubjectOfCare"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "ad81f3dd-86eb-4da9-925e-c183b848a391",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "subjectOfCare",
                      "contextType" : "variable",
                      "element" : "display",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "patient"
                        },
                        {
                          "valueString" : "display"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setProxyRelationship",
          "source" : [
            {
              "context" : "src",
              "element" : "relationship",
              "variable" : "relationshipCodeableConcept"
            }
          ],
          "rule" : [
            {
              "name" : "8622ee2e-a48b-44f5-8fc7-e41029dd62a4",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "relationship",
                  "variable" : "relationship"
                }
              ],
              "rule" : [
                {
                  "name" : "969a90c2-b837-46ed-b0c1-1a5041beab0b",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "relationship",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "https://data.digitisingsocialcare.co.uk/mods/v1/person-marital-status"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "c15501ec-5665-4143-96cd-5da339065397",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "relationship",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "relationshipCodeableConcept"
                        },
                        {
                          "valueString" : "coding.code"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "f1a41f9f-69bd-4407-b0ae-9452e726e2fa",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "relationship",
                      "contextType" : "variable",
                      "element" : "display",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "relationshipCodeableConcept"
                        },
                        {
                          "valueString" : "coding.display"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setProxyName",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "name",
              "variable" : "name"
            }
          ],
          "rule" : [
            {
              "name" : "setProxyFamilyAndGivenName",
              "source" : [
                {
                  "context" : "src",
                  "min" : 1,
                  "max" : "1",
                  "element" : "name",
                  "variable" : "humanName"
                }
              ],
              "rule" : [
                {
                  "name" : "50623afe-a95a-4503-8470-015a6c042835",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "given",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "humanName"
                        },
                        {
                          "valueString" : "given"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "fde0cd17-a67f-45a5-b751-2c782565090d",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "family",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "humanName"
                        },
                        {
                          "valueString" : "family"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setProxyAddress",
          "source" : [
            {
              "context" : "src",
              "element" : "address",
              "variable" : "address"
            }
          ],
          "target" : [
            {
              "context" : "src",
              "contextType" : "variable",
              "element" : "addresses",
              "variable" : "addresses"
            }
          ],
          "rule" : [
            {
              "name" : "1fadf555-c8b2-4ea3-a3b0-69cc7f0dd34c",
              "source" : [
                {
                  "context" : "addresses",
                  "variable" : "addr"
                }
              ],
              "rule" : [
                {
                  "name" : "e05ed7c5-de2c-4dcf-a61d-d65d25c22e71",
                  "source" : [
                    {
                      "context" : "address"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "addressEntry1",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "address"
                        },
                        {
                          "valueString" : "line[0]"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "eb789793-140c-4101-80d2-86d338377b11",
                  "source" : [
                    {
                      "context" : "address"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "addressEntry2",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "address"
                        },
                        {
                          "valueString" : "line[1]"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "8e8bd8c5-c226-4be4-9196-3af02f0f74d7",
                  "source" : [
                    {
                      "context" : "address"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "addressEntry3",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "address"
                        },
                        {
                          "valueString" : "line[2]"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "76b791a2-1ef3-465b-b7d7-b2d0e975837f",
                  "source" : [
                    {
                      "context" : "address"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "addressEntry4",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "address"
                        },
                        {
                          "valueString" : "line[3]"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "e7361fe5-f432-46b3-8aab-e945dc1fa4fe",
                  "source" : [
                    {
                      "context" : "address"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "postCode",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "address"
                        },
                        {
                          "valueString" : "postalCode"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "extension",
                  "source" : [
                    {
                      "context" : "address",
                      "element" : "extension",
                      "variable" : "countryExt",
                      "condition" : "$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry'"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "68e7bbdd-e76e-480c-9668-3c3f9785844e",
                      "source" : [
                        {
                          "context" : "address"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "addr",
                          "contextType" : "variable",
                          "element" : "country",
                          "variable" : "country"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "ed6d2b05-7402-4dca-84e8-b54ebe83595b",
                          "source" : [
                            {
                              "context" : "address"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "country",
                              "contextType" : "variable",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://data.digitisingsocialcare.co.uk/mods/v1/country"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "8e995954-3551-479c-9abe-470f12e691d3",
                          "source" : [
                            {
                              "context" : "address"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "country",
                              "contextType" : "variable",
                              "element" : "code",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "countryExt"
                                },
                                {
                                  "valueString" : "valueCoding.code"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "aec6988f-b119-452a-8799-d9fdeba2a6f7",
                          "source" : [
                            {
                              "context" : "address"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "country",
                              "contextType" : "variable",
                              "element" : "display",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "countryExt"
                                },
                                {
                                  "valueString" : "valueCoding.display"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "0ceffdae-391c-46a7-be2c-8f2e326d75df",
              "source" : [
                {
                  "context" : "addresses"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "address"
                }
              ]
            }
          ]
        },
        {
          "name" : "setProxyContactDetails",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "contactDetails",
              "variable" : "contactDetails"
            }
          ],
          "rule" : [
            {
              "name" : "telecom",
              "source" : [
                {
                  "context" : "src",
                  "element" : "telecom",
                  "variable" : "emailAddress",
                  "condition" : "$this.system='email'"
                }
              ],
              "target" : [
                {
                  "context" : "contactDetails",
                  "contextType" : "variable",
                  "element" : "emailAddressDetails",
                  "variable" : "emailAddressDetails"
                }
              ],
              "rule" : [
                {
                  "name" : "852fbd38-2bab-4798-9e9a-47347446e3c1",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "emailAddressDetails",
                      "contextType" : "variable",
                      "element" : "emailAddress",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "emailAddress"
                        },
                        {
                          "valueString" : "value"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "1d8fab4d-380e-48a0-bf21-3475ec3aa622",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "emailAddressDetails",
                      "contextType" : "variable",
                      "element" : "preferredOrder",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "emailAddress"
                        },
                        {
                          "valueString" : "rank"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "extension",
                  "source" : [
                    {
                      "context" : "emailAddress",
                      "element" : "extension",
                      "variable" : "emailAddressTypeExt",
                      "condition" : "$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonEmailAddressType'"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "c8c18109-be37-4266-bd00-0b7083daf158",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "emailAddressDetails",
                          "contextType" : "variable",
                          "element" : "type",
                          "variable" : "emailAddressType"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "799e594a-e1ae-461f-b511-12fa9230becc",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "emailAddressType",
                              "contextType" : "variable",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://data.digitisingsocialcare.co.uk/mods/v1/person-email-address-type"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "ac0f5c3a-cff5-4ef2-94d5-71a40c2e81c8",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "emailAddressType",
                              "contextType" : "variable",
                              "element" : "code",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "emailAddressTypeExt"
                                },
                                {
                                  "valueString" : "valueCoding.code"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "ab1af801-bd61-468d-86d1-197a0caae4bf",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "emailAddressType",
                              "contextType" : "variable",
                              "element" : "display",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "emailAddressTypeExt"
                                },
                                {
                                  "valueString" : "valueCoding.display"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "telecom",
              "source" : [
                {
                  "context" : "src",
                  "element" : "telecom",
                  "variable" : "telephoneNumber",
                  "condition" : "$this.system='phone'"
                }
              ],
              "target" : [
                {
                  "context" : "contactDetails",
                  "contextType" : "variable",
                  "element" : "telephoneDetails",
                  "variable" : "telephoneNumberDetails"
                }
              ],
              "rule" : [
                {
                  "name" : "df200086-4111-4fc0-a773-6ca4d66e52de",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "telephoneNumberDetails",
                      "contextType" : "variable",
                      "element" : "telephoneNumber",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "telephoneNumber"
                        },
                        {
                          "valueString" : "value"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "28039973-32d4-4d16-adc5-5d764bc8956d",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "telephoneNumberDetails",
                      "contextType" : "variable",
                      "element" : "preferredOrder",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "telephoneNumber"
                        },
                        {
                          "valueString" : "rank"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "extension",
                  "source" : [
                    {
                      "context" : "telephoneNumber",
                      "element" : "extension",
                      "variable" : "telephoneNumberExt",
                      "condition" : "$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonTelephoneNumberType'"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "683b404c-2ab5-4f03-a0b9-0d24e5a64916",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "telephoneNumberDetails",
                          "contextType" : "variable",
                          "element" : "type",
                          "variable" : "telephoneNumberType"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "1b991f78-0946-4a80-94ff-0b6214ad8a11",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "telephoneNumberType",
                              "contextType" : "variable",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "https://data.digitisingsocialcare.co.uk/mods/v1/person-telephone-type"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "a291ccde-c5fd-4762-b037-3465f13ea674",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "telephoneNumberType",
                              "contextType" : "variable",
                              "element" : "code",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "telephoneNumberExt"
                                },
                                {
                                  "valueString" : "valueCoding.code"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "8fcd7d68-9796-4d7d-a334-f246f9d6b484",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "telephoneNumberType",
                              "contextType" : "variable",
                              "element" : "display",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "telephoneNumberExt"
                                },
                                {
                                  "valueString" : "valueCoding.display"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setProxyOrganisation",
          "source" : [
            {
              "context" : "src",
              "element" : "extension",
              "variable" : "careProviderExt",
              "condition" : "$this.url='https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-PersonCareProvider'"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "organisation",
              "variable" : "organisation"
            }
          ],
          "rule" : [
            {
              "name" : "valueReference",
              "source" : [
                {
                  "context" : "careProviderExt",
                  "element" : "valueReference",
                  "variable" : "careProviderReference"
                }
              ],
              "rule" : [
                {
                  "name" : "416b8dcb-e752-4822-a464-1c10fc33a8f9",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "organisation",
                      "contextType" : "variable",
                      "element" : "id",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "careProviderReference"
                        },
                        {
                          "valueString" : "identifier.value"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "6e6c8b87-c6db-404a-8af2-f8086f0ff727",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "organisation",
                      "contextType" : "variable",
                      "element" : "type",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "CareOrganisation"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "2a557171-8d94-46f2-9505-9639873c3294",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "organisation",
                      "contextType" : "variable",
                      "element" : "display",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "careProviderReference"
                        },
                        {
                          "valueString" : "display"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}