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

: PractitionerToCareWorker - JSON Representation

Draft as of 2026-03-24

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "Practitioner-CareWorker",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap Practitioner-CareWorker</b></p><a name=\"Practitioner-CareWorker\"> </a><a name=\"hcPractitioner-CareWorker\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/Practitioner-CareWorker<span style=\"color: navy\">&quot; = &quot;</span>PractitionerToCareWorker<span style=\"color: navy\">&quot;\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-MODS-Practitioner.html\" title=\"MODS Practitioner\">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Practitioner</a><span style=\"color: navy\">&quot; </span><b>alias </b>Practitioner <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-MODS-CareWorker.html\" title=\"MODS Care Worker\">https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-CareWorker</a><span style=\"color: navy\">&quot; </span><b>alias </b>CareWorker <b>as </b><b>target</b>\r\n\r\n<b>group </b>CareWorker<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Practitioner, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>CareWorker<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;setCareWorkerId&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\">'Care Worker'</span> <i>&quot;ac0d9409-65d3-4ac5-a2e4-82e311729d39&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<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;5b7971e2-4ecc-4f09-a7f3-480d6620c5fa&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;ff76faaa-9937-4c29-9e4b-b7ee6587b724&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;setFamilyAndGivenName&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setName&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;056d2626-9d12-411c-8aa7-9ce762c25520&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;9c3e2c64-fa5c-4f1a-bd0e-b1214d7f3042&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;df5ca7a7-596b-4316-863d-a1b078386d9b&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;dc2268a7-1f92-4d75-b21a-7075ff68c701&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;88beab9d-b983-44ad-ab6f-67cffec63f8b&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;ccd293d4-7b1f-4e72-86d4-d38cfa46cbc2&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;ec42b1e7-46b5-40f9-9948-9e9c8c4097cb&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;3122fe00-dc00-455e-9785-5779e8f82e21&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;0520f2c7-d19c-41b0-b26f-99deb20298fd&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;2d449562-de74-496f-9aeb-e950492fb40d&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;683286cd-5953-4d92-8a19-ec2f0caa133f&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;738d2d8c-f42f-4a10-adc2-6ce7948eec06&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;setContactDetails&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/Practitioner-CareWorker",
  "version" : "0.1.0",
  "name" : "PractitionerToCareWorker",
  "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-Practitioner",
      "mode" : "source",
      "alias" : "Practitioner"
    },
    {
      "url" : "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-CareWorker",
      "mode" : "target",
      "alias" : "CareWorker"
    }
  ],
  "group" : [
    {
      "name" : "CareWorker",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "Practitioner",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "type" : "CareWorker",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "setCareWorkerId",
          "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" : "ac0d9409-65d3-4ac5-a2e4-82e311729d39",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "dataClass",
                  "contextType" : "variable",
                  "element" : "name",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Care Worker"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setName",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "name",
              "variable" : "name"
            }
          ],
          "rule" : [
            {
              "name" : "setFamilyAndGivenName",
              "source" : [
                {
                  "context" : "src",
                  "min" : 1,
                  "max" : "1",
                  "element" : "name",
                  "variable" : "humanName"
                }
              ],
              "rule" : [
                {
                  "name" : "5b7971e2-4ecc-4f09-a7f3-480d6620c5fa",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "given",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "humanName"
                        },
                        {
                          "valueString" : "given"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "ff76faaa-9937-4c29-9e4b-b7ee6587b724",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "family",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "humanName"
                        },
                        {
                          "valueString" : "family"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "setContactDetails",
          "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" : "056d2626-9d12-411c-8aa7-9ce762c25520",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "emailAddressDetails",
                      "contextType" : "variable",
                      "element" : "emailAddress",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "emailAddress"
                        },
                        {
                          "valueString" : "value"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "9c3e2c64-fa5c-4f1a-bd0e-b1214d7f3042",
                  "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" : "ccd293d4-7b1f-4e72-86d4-d38cfa46cbc2",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "emailAddressDetails",
                          "contextType" : "variable",
                          "element" : "type",
                          "variable" : "emailAddressType"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "df5ca7a7-596b-4316-863d-a1b078386d9b",
                          "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" : "dc2268a7-1f92-4d75-b21a-7075ff68c701",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "emailAddressType",
                              "contextType" : "variable",
                              "element" : "code",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "emailAddressTypeExt"
                                },
                                {
                                  "valueString" : "valueCoding.code"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "88beab9d-b983-44ad-ab6f-67cffec63f8b",
                          "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" : "ec42b1e7-46b5-40f9-9948-9e9c8c4097cb",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "telephoneNumberDetails",
                      "contextType" : "variable",
                      "element" : "telephoneNumber",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueId" : "telephoneNumber"
                        },
                        {
                          "valueString" : "value"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "3122fe00-dc00-455e-9785-5779e8f82e21",
                  "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" : "738d2d8c-f42f-4a10-adc2-6ce7948eec06",
                      "source" : [
                        {
                          "context" : "src"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "telephoneNumberDetails",
                          "contextType" : "variable",
                          "element" : "type",
                          "variable" : "telephoneNumberType"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "0520f2c7-d19c-41b0-b26f-99deb20298fd",
                          "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" : "2d449562-de74-496f-9aeb-e950492fb40d",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "telephoneNumberType",
                              "contextType" : "variable",
                              "element" : "code",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "telephoneNumberExt"
                                },
                                {
                                  "valueString" : "valueCoding.code"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "683286cd-5953-4d92-8a19-ec2f0caa133f",
                          "source" : [
                            {
                              "context" : "src"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "telephoneNumberType",
                              "contextType" : "variable",
                              "element" : "display",
                              "transform" : "evaluate",
                              "parameter" : [
                                {
                                  "valueId" : "telephoneNumberExt"
                                },
                                {
                                  "valueString" : "valueCoding.display"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}