<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Location" />
  <name value="NHSDigitalLocation" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Location" />
  <baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Location" />
  <derivation value="constraint" />
  <differential>
    <element id="Location.identifier">
      <path value="Location.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <comment value="SHOULD contain an ANANA/ODS code." />
    </element>
    <element id="Location.identifier:odsCode">
      <path value="Location.identifier" />
      <sliceName value="odsCode" />
    </element>
    <element id="Location.identifier:odsCode.system">
      <path value="Location.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.uk/Id/ods-organization-code" />
    </element>
    <element id="Location.identifier:odsCode.value">
      <path value="Location.identifier.value" />
      <min value="1" />
    </element>
    <element id="Location.address">
      <path value="Location.address" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Location.managingOrganization">
      <path value="Location.managingOrganization" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Organization" />
      </type>
      <constraint>
        <key value="nhds-10" />
        <severity value="warning" />
        <human value="managingOrganization - a display name should be provided" />
        <expression value="(display.exists())" />
      </constraint>
    </element>
    <element id="Location.managingOrganization.identifier">
      <path value="Location.managingOrganization.identifier" />
      <min value="1" />
    </element>
    <element id="Location.managingOrganization.identifier.system">
      <path value="Location.managingOrganization.identifier.system" />
      <min value="1" />
    </element>
    <element id="Location.managingOrganization.identifier.value">
      <path value="Location.managingOrganization.identifier.value" />
      <min value="1" />
    </element>
    <element id="Location.partOf">
      <path value="Location.partOf" />
      <constraint>
        <key value="nhsd-9" />
        <severity value="warning" />
        <human value="partOf - display name should be provided" />
        <expression value="(display.exists())" />
      </constraint>
    </element>
    <element id="Location.partOf.identifier">
      <path value="Location.partOf.identifier" />
      <min value="1" />
    </element>
    <element id="Location.partOf.identifier.system">
      <path value="Location.partOf.identifier.system" />
      <min value="1" />
    </element>
    <element id="Location.partOf.identifier.value">
      <path value="Location.partOf.identifier.value" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>