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-06-10 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' "6be1892b-c814-44d9-94de-7dbb0461fe23";
    src -> identifier.system = 'https://fhir.nhs.uk/Id/ods-organization-code' "3d0a942e-a7a7-4b4a-99cc-47e77963297c";
    src -> identifier.value = evaluate(src, organisationIdentifier) "193051bb-9ad7-41ce-8054-bca1bd3650cc";
  } "setOrganizationIdentifier";
  src.address as address where $this.country.empty().not() -> tgt.address as addr then {
    src -> addr.line = evaluate(address, addressEntry1) "c32859cc-c982-41e9-9417-72eb9365f5ff";
    src -> addr.line = evaluate(address, addressEntry2) "ea301e0b-680e-4502-8e77-f33c969dcba5";
    src -> addr.line = evaluate(address, addressEntry3) "e788f4ef-24af-4430-b8f7-7c724aeb64bc";
    src -> addr.line = evaluate(address, addressEntry4) "df96a054-2ed4-45b6-8166-37f697d851ef";
    src -> addr.postalCode = evaluate(address, postCode) "6209678a-954e-4c91-9f41-4c43b9b7729d";
    src -> addr.country = evaluate(address, country.display) "4d2b98e9-4815-4c6f-b1e4-32435cd96cb1";
    src -> addr.extension as extension then {
      src -> extension.url = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/StructureDefinition/Extension-MODS-AddressCountry' "49212889-4aec-41e5-84a0-b47d0519e648";
      src -> extension.valueCoding as countryCoding then {
        src -> countryCoding.system = 'https://metadata.phase2.scip.synanetics.cloud/fhir/r4/CodeSystem/MODS-Country-1' "ef1ccec9-88b1-4c4f-b8b5-80200af1fcd2";
        src -> countryCoding.code = evaluate(address, country.code) "50d8cb99-259e-40a0-8c52-c6a956af00d6";
        src -> countryCoding.display = evaluate(address, country.display) "8ea13ca0-097c-46bb-b78f-8be1e7bf6bef";
      } "dc67362c-8995-4701-8dc1-bb9afde652e0";
    } "1709f99a-ac13-490a-8331-8f6379ea0845";
  } "setOrganisationAddress";
}