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 |
{
"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\"> "</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/RelatedPerson-ProxyForSubjectOfCare<span style=\"color: navy\">" = "</span>RelatedPersonToProxyForSubjectOfCare<span style=\"color: navy\">"\r\n\r\n</span><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>source</b>\r\n<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>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> -> </b></span>tgt.id = evaluate<span style=\"color: navy\">(</span>src<span style=\"color: navy\">, </span>id<span style=\"color: navy\">)</span> <i>"setProxyId"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </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> -> </b></span>dataClass.name = <span style=\"color: blue\">'Proxy for Subject of Care'</span> <i>"bd5f2262-5fa0-441c-8732-43a92465a378"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setDataClassName"</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> -> </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> -> </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>"eac4254c-41af-432b-b0e5-3f5ceba39c2f"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>subjectOfCare.type = <span style=\"color: blue\">'SubjectOfCare'</span> <i>"fea9e9c7-f22c-4e79-a551-676c6aa2eea6"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>subjectOfCare.display = evaluate<span style=\"color: navy\">(</span>patient<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"eebf9127-2285-4ee4-bc48-59262d6f3964"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dd9e83d7-012d-45ad-9292-e962f3bdd122"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setProxySubject"</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> -> </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> -> </b></span>relationship.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/person-marital-status'</span> <i>"ab8f9ba0-b692-4137-9398-580b1599ad5f"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>relationship.code = evaluate<span style=\"color: navy\">(</span>relationshipCodeableConcept<span style=\"color: navy\">, </span>coding.code<span style=\"color: navy\">)</span> <i>"17682885-a9f2-483f-bd0c-a6a90771810f"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>relationship.display = evaluate<span style=\"color: navy\">(</span>relationshipCodeableConcept<span style=\"color: navy\">, </span>coding.display<span style=\"color: navy\">)</span> <i>"9301d71b-7547-4eea-8dfc-9c0213f76eab"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"d3d86dbb-e026-4fbd-b7b3-d1af899974ce"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setProxyRelationship"</i><span style=\"color: navy\">;</span>\r\n 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\"> {\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> -> </b></span>name.given = evaluate<span style=\"color: navy\">(</span>humanName<span style=\"color: navy\">, </span>given<span style=\"color: navy\">)</span> <i>"084df918-6967-4652-bc27-306bf4ea2536"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>name.family = evaluate<span style=\"color: navy\">(</span>humanName<span style=\"color: navy\">, </span>family<span style=\"color: navy\">)</span> <i>"2c19a053-6ec0-4827-8bf5-813befe8a5f4"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setProxyFamilyAndGivenName"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setProxyName"</i><span style=\"color: navy\">;</span>\r\n src.address<b> as </b><span style=\"color: maroon\">address</span><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\"> {\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> -> </b></span>addr.addressEntry1 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[0]<span style=\"color: navy\">)</span> <i>"1f400c35-a0bb-40e0-a818-f8e05fde41dd"</i><span style=\"color: navy\">;</span>\r\n address<span style=\"color: navy\"><b> -> </b></span>addr.addressEntry2 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[1]<span style=\"color: navy\">)</span> <i>"39e642d4-4fc0-42b1-bd67-3bee7b288a25"</i><span style=\"color: navy\">;</span>\r\n address<span style=\"color: navy\"><b> -> </b></span>addr.addressEntry3 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[2]<span style=\"color: navy\">)</span> <i>"e6c660e0-7afb-4439-88ce-e3c2ccb25f2a"</i><span style=\"color: navy\">;</span>\r\n address<span style=\"color: navy\"><b> -> </b></span>addr.addressEntry4 = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>line[3]<span style=\"color: navy\">)</span> <i>"40b85216-b7b5-46b0-9471-5aaf0efaf43a"</i><span style=\"color: navy\">;</span>\r\n address<span style=\"color: navy\"><b> -> </b></span>addr.postCode = evaluate<span style=\"color: navy\">(</span>address<span style=\"color: navy\">, </span>postalCode<span style=\"color: navy\">)</span> <i>"d454b3ff-adb1-4e9f-809e-6285ae8d1678"</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> -> </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> -> </b></span>country.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/country'</span> <i>"bad6cfb5-db16-4c45-b5cc-9c22ebc96126"</i><span style=\"color: navy\">;</span>\r\n address<span style=\"color: navy\"><b> -> </b></span>country.code = evaluate<span style=\"color: navy\">(</span>countryExt<span style=\"color: navy\">, </span>valueCoding.code<span style=\"color: navy\">)</span> <i>"893f09d4-5aa3-464b-a86f-0ec923fb2662"</i><span style=\"color: navy\">;</span>\r\n address<span style=\"color: navy\"><b> -> </b></span>country.display = evaluate<span style=\"color: navy\">(</span>countryExt<span style=\"color: navy\">, </span>valueCoding.display<span style=\"color: navy\">)</span> <i>"c5f96b7b-4ebe-4103-b442-51d86462f9f9"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ad239250-2c82-4671-9580-680fc5c1c159"</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>"c1b0e248-80ac-4281-acc5-2d14370b3337"</i><span style=\"color: navy\">;</span>\r\n addresses<span style=\"color: navy\"><b> -> </b></span>tgt.address <i>"811c02ca-c90e-49a9-b340-7f848bdec059"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setProxyAddress"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </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> -> </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> -> </b></span>emailAddressDetails.emailAddress = evaluate<span style=\"color: navy\">(</span>emailAddress<span style=\"color: navy\">, </span>value<span style=\"color: navy\">)</span> <i>"85409499-ac1a-490c-916f-4f7b2558b034"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>emailAddressDetails.preferredOrder = evaluate<span style=\"color: navy\">(</span>emailAddress<span style=\"color: navy\">, </span>rank<span style=\"color: navy\">)</span> <i>"2dbcbd9d-0343-41b4-ad6c-68eda17ef4b8"</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> -> </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> -> </b></span>emailAddressType.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/person-email-address-type'</span> <i>"f9b33ebe-da9e-4f44-9b20-ee007b180864"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>emailAddressType.code = evaluate<span style=\"color: navy\">(</span>emailAddressTypeExt<span style=\"color: navy\">, </span>valueCoding.code<span style=\"color: navy\">)</span> <i>"6745ad25-20e4-4bae-a5e7-19a6df367c13"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>emailAddressType.display = evaluate<span style=\"color: navy\">(</span>emailAddressTypeExt<span style=\"color: navy\">, </span>valueCoding.display<span style=\"color: navy\">)</span> <i>"f4d1ad39-e2de-44f7-bfd3-41c62414613c"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"3c3ebdef-62b9-4b4a-94a8-05522b03e443"</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> -> </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> -> </b></span>telephoneNumberDetails.telephoneNumber = evaluate<span style=\"color: navy\">(</span>telephoneNumber<span style=\"color: navy\">, </span>value<span style=\"color: navy\">)</span> <i>"d6acef1e-06f3-4cc7-a7cd-ab9852529096"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>telephoneNumberDetails.preferredOrder = evaluate<span style=\"color: navy\">(</span>telephoneNumber<span style=\"color: navy\">, </span>rank<span style=\"color: navy\">)</span> <i>"9435538f-d874-4a08-bdd2-40893425ade1"</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> -> </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> -> </b></span>telephoneNumberType.system = <span style=\"color: blue\">'https://data.digitisingsocialcare.co.uk/mods/v1/person-telephone-type'</span> <i>"a2b10265-dca9-4d7a-8d13-2075921cde9e"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>telephoneNumberType.code = evaluate<span style=\"color: navy\">(</span>telephoneNumberExt<span style=\"color: navy\">, </span>valueCoding.code<span style=\"color: navy\">)</span> <i>"f8ebd68c-7283-43f1-bbce-706db793eb9b"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>telephoneNumberType.display = evaluate<span style=\"color: navy\">(</span>telephoneNumberExt<span style=\"color: navy\">, </span>valueCoding.display<span style=\"color: navy\">)</span> <i>"2cda0ece-f28d-437b-b511-681af091b1cd"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"b1e08b43-96fd-484c-b9a1-6d5e71c426ea"</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>"setProxyContactDetails"</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> -> </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> -> </b></span>organisation.id = evaluate<span style=\"color: navy\">(</span>careProviderReference<span style=\"color: navy\">, </span>identifier.value<span style=\"color: navy\">)</span> <i>"55cb11ed-a9d7-4def-a020-894ede8f03d4"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>organisation.type = <span style=\"color: blue\">'CareOrganisation'</span> <i>"46ed7b30-2987-41ad-9603-0a7db4d8e96c"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>organisation.display = evaluate<span style=\"color: navy\">(</span>careProviderReference<span style=\"color: navy\">, </span>display<span style=\"color: navy\">)</span> <i>"45da40dc-a86b-4298-a266-cb41f0769870"</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>"setProxyOrganisation"</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-06-10T19:05:58+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" : "bd5f2262-5fa0-441c-8732-43a92465a378",
"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" : "dd9e83d7-012d-45ad-9292-e962f3bdd122",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "subjectOfCare",
"variable" : "subjectOfCare"
}
],
"rule" : [
{
"name" : "eac4254c-41af-432b-b0e5-3f5ceba39c2f",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subjectOfCare",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "patient"
},
{
"valueString" : "reference.replace('Patient/','')"
}
]
}
]
},
{
"name" : "fea9e9c7-f22c-4e79-a551-676c6aa2eea6",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "subjectOfCare",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "SubjectOfCare"
}
]
}
]
},
{
"name" : "eebf9127-2285-4ee4-bc48-59262d6f3964",
"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" : "d3d86dbb-e026-4fbd-b7b3-d1af899974ce",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "relationship",
"variable" : "relationship"
}
],
"rule" : [
{
"name" : "ab8f9ba0-b692-4137-9398-580b1599ad5f",
"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" : "17682885-a9f2-483f-bd0c-a6a90771810f",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "relationship",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "relationshipCodeableConcept"
},
{
"valueString" : "coding.code"
}
]
}
]
},
{
"name" : "9301d71b-7547-4eea-8dfc-9c0213f76eab",
"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" : "084df918-6967-4652-bc27-306bf4ea2536",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "humanName"
},
{
"valueString" : "given"
}
]
}
]
},
{
"name" : "2c19a053-6ec0-4827-8bf5-813befe8a5f4",
"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" : "c1b0e248-80ac-4281-acc5-2d14370b3337",
"source" : [
{
"context" : "addresses",
"variable" : "addr"
}
],
"rule" : [
{
"name" : "1f400c35-a0bb-40e0-a818-f8e05fde41dd",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "addressEntry1",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "address"
},
{
"valueString" : "line[0]"
}
]
}
]
},
{
"name" : "39e642d4-4fc0-42b1-bd67-3bee7b288a25",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "addressEntry2",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "address"
},
{
"valueString" : "line[1]"
}
]
}
]
},
{
"name" : "e6c660e0-7afb-4439-88ce-e3c2ccb25f2a",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "addressEntry3",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "address"
},
{
"valueString" : "line[2]"
}
]
}
]
},
{
"name" : "40b85216-b7b5-46b0-9471-5aaf0efaf43a",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "addressEntry4",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "address"
},
{
"valueString" : "line[3]"
}
]
}
]
},
{
"name" : "d454b3ff-adb1-4e9f-809e-6285ae8d1678",
"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" : "ad239250-2c82-4671-9580-680fc5c1c159",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "country",
"variable" : "country"
}
],
"rule" : [
{
"name" : "bad6cfb5-db16-4c45-b5cc-9c22ebc96126",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "country",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://data.digitisingsocialcare.co.uk/mods/v1/country"
}
]
}
]
},
{
"name" : "893f09d4-5aa3-464b-a86f-0ec923fb2662",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "country",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "countryExt"
},
{
"valueString" : "valueCoding.code"
}
]
}
]
},
{
"name" : "c5f96b7b-4ebe-4103-b442-51d86462f9f9",
"source" : [
{
"context" : "address"
}
],
"target" : [
{
"context" : "country",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "countryExt"
},
{
"valueString" : "valueCoding.display"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "811c02ca-c90e-49a9-b340-7f848bdec059",
"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" : "85409499-ac1a-490c-916f-4f7b2558b034",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "emailAddressDetails",
"contextType" : "variable",
"element" : "emailAddress",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "emailAddress"
},
{
"valueString" : "value"
}
]
}
]
},
{
"name" : "2dbcbd9d-0343-41b4-ad6c-68eda17ef4b8",
"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" : "3c3ebdef-62b9-4b4a-94a8-05522b03e443",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "emailAddressDetails",
"contextType" : "variable",
"element" : "type",
"variable" : "emailAddressType"
}
],
"rule" : [
{
"name" : "f9b33ebe-da9e-4f44-9b20-ee007b180864",
"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" : "6745ad25-20e4-4bae-a5e7-19a6df367c13",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "emailAddressType",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "emailAddressTypeExt"
},
{
"valueString" : "valueCoding.code"
}
]
}
]
},
{
"name" : "f4d1ad39-e2de-44f7-bfd3-41c62414613c",
"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" : "d6acef1e-06f3-4cc7-a7cd-ab9852529096",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "telephoneNumberDetails",
"contextType" : "variable",
"element" : "telephoneNumber",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "telephoneNumber"
},
{
"valueString" : "value"
}
]
}
]
},
{
"name" : "9435538f-d874-4a08-bdd2-40893425ade1",
"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" : "b1e08b43-96fd-484c-b9a1-6d5e71c426ea",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "telephoneNumberDetails",
"contextType" : "variable",
"element" : "type",
"variable" : "telephoneNumberType"
}
],
"rule" : [
{
"name" : "a2b10265-dca9-4d7a-8d13-2075921cde9e",
"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" : "f8ebd68c-7283-43f1-bbce-706db793eb9b",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "telephoneNumberType",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "telephoneNumberExt"
},
{
"valueString" : "valueCoding.code"
}
]
}
]
},
{
"name" : "2cda0ece-f28d-437b-b511-681af091b1cd",
"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" : "55cb11ed-a9d7-4def-a020-894ede8f03d4",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "careProviderReference"
},
{
"valueString" : "identifier.value"
}
]
}
]
},
{
"name" : "46ed7b30-2987-41ad-9603-0a7db4d8e96c",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "CareOrganisation"
}
]
}
]
},
{
"name" : "45da40dc-a86b-4298-a266-cb41f0769870",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "organisation",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueId" : "careProviderReference"
},
{
"valueString" : "display"
}
]
}
]
}
]
}
]
}
]
}
]
}