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

StructureMap: CareOrganizationToOrganization

Official URL: https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/CareOrganization-Organization Version: 0.1.0
Draft as of 2026-03-24 Computable Name: CareOrganizationToOrganization

map "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureMap/CareOrganization-Organization" = "CareOrganizationToOrganization"

uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-CareOrganisation" alias CareOrganisation as source
uses "https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/MODS-Organization" alias Organization as target

group Organization(source src : CareOrganisation, target tgt : Organization) {
  src -> tgt.id = evaluate(src, id) "setOrganizationId";
  src -> tgt.name = evaluate(src, name) "setOrganizationName";
  src -> tgt.identifier as identifier then {
    src -> identifier.use = 'official' "5783e908-a334-4d3f-8846-175419dfece3";
    src -> identifier.system = 'https://fhir.nhs.uk/Id/ods-organization-code' "8694bc48-03cb-4409-9e38-cad03cdd672a";
    src -> identifier.value = evaluate(src, organisationIdentifier) "bc0f10e4-135a-487d-87ed-2c1fdd99bfd5";
  } "setOrganizationIdentifier";
  src.address as address where $this.country.empty().not() -> tgt.address as addr then {
    src -> addr.line = evaluate(address, addressEntry1) "32df9ee8-b3db-40a8-bc82-2d808400d58b";
    src -> addr.line = evaluate(address, addressEntry2) "26b51e77-9374-4027-8eaf-24351180eed7";
    src -> addr.line = evaluate(address, addressEntry3) "b067e404-2c13-4fa9-9643-8a0424b8e362";
    src -> addr.line = evaluate(address, addressEntry4) "7169e57a-8c0e-4ba8-87a6-37f577d34192";
    src -> addr.postalCode = evaluate(address, postCode) "463fc6f1-e6b6-4dcf-b343-4f0832e1649b";
    src -> addr.country = evaluate(address, country.display) "25cd9af5-0f2d-47b5-a3c1-6913fc60661a";
    src -> addr.extension as extension then {
      src -> extension.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry' "f61a4a4b-5d59-47c3-8d80-727a6d2a6f4f";
      src -> extension.valueCoding as countryCoding then {
        src -> countryCoding.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-Country-1' "b626f59d-c371-4d27-a8d0-2795ba321471";
        src -> countryCoding.code = evaluate(address, country.code) "9bbcebc2-d1c9-47dd-985a-3d5db6800b14";
        src -> countryCoding.display = evaluate(address, country.display) "878126b8-19ed-4344-8fca-1142137e58a6";
      } "9a7c2e0d-50bd-4ea7-acd9-f71f9a8c5dcd";
    } "56d95dbd-ddc6-4955-9c03-4299cad8e23b";
  } "setOrganisationAddress";
}