<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Extension-SDS-ReliabilityConfiguration" />
  <url value="https://fhir.nhs.uk/StructureDefinition/Extension-SDS-ReliabilityConfiguration" />
  <version value="1.0.0" />
  <name value="ExtensionSDSReliabilityConfiguration" />
  <title value="Extension SDS Reliability Configuration" />
  <status value="draft" />
  <date value="2020-08-07" />
  <publisher value="NHS Digital" />
  <contact>
    <name value="NHS Digital" />
    <telecom>
      <system value="email" />
      <value value="interoperabilityteam@nhs.uk" />
      <use value="work" />
      <rank value="1" />
    </telecom>
  </contact>
  <description value="Reliability and configuration information that can be used when calling a service endpoint." />
  <purpose value="This extension extends the Endpoint resource to support the exchange of reliability and configuration information that can be used when calling a service endpoint on Spine Directory Services (SDS). It is formed as a set of string and integer elements. This information is currently not supported by the FHIR standard in the base Endpoint resource." />
  <copyright value="Copyright © 2020 NHS Digital" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Endpoint" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <max value="1" />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Extension.extension:nhsMHSSyncReplyMode">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSSyncReplyMode" />
      <short value="NHS Message Handling Service Synchronous Reply Mode" />
      <definition value="Synchronous Reply Mode" />
      <comment value="-" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSSyncReplyMode.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSSyncReplyMode" />
    </element>
    <element id="Extension.extension:nhsMHSSyncReplyMode.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:nhsMHSRetryInterval">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSRetryInterval" />
      <short value="NHS Message Handling Service Retry Interval" />
      <definition value="Retry Interval" />
      <comment value="-" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSRetryInterval.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSRetryInterval" />
    </element>
    <element id="Extension.extension:nhsMHSRetryInterval.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:nhsMHSRetries">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSRetries" />
      <short value="NHS Message Handling Service number of retries" />
      <definition value="Number of retries" />
      <comment value="-" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSRetries.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSRetries" />
    </element>
    <element id="Extension.extension:nhsMHSRetries.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="integer" />
      </type>
    </element>
    <element id="Extension.extension:nhsMHSPersistDuration">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSPersistDuration" />
      <short value="NHS Message Handling Service Persist Duration" />
      <definition value="Persist Duration" />
      <comment value="-" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSPersistDuration.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSPersistDuration" />
    </element>
    <element id="Extension.extension:nhsMHSPersistDuration.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:nhsMHSDuplicateElimination">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSDuplicateElimination" />
      <short value="NHS Message Handling Service Duplicate Elimination" />
      <definition value="Duplicate Elimination" />
      <comment value="-" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSDuplicateElimination.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSDuplicateElimination" />
    </element>
    <element id="Extension.extension:nhsMHSDuplicateElimination.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:nhsMHSAckRequested">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSAckRequested" />
      <short value="NHS Message Handling Service Acknowledgement Requested" />
      <definition value="Acknowledgement Requested" />
      <comment value="-" />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSAckRequested.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSAckRequested" />
    </element>
    <element id="Extension.extension:nhsMHSAckRequested.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:nhsMHSActor">
      <path value="Extension.extension" />
      <sliceName value="nhsMHSActor" />
      <short value="NHS Message Handling Service Actor" />
      <definition value="NHS NHS Message Handling Service Actor." />
      <min value="0" />
      <max value="1" />
    </element>
    <element id="Extension.extension:nhsMHSActor.url">
      <path value="Extension.extension.url" />
      <fixedUri value="nhsMHSActor" />
    </element>
    <element id="Extension.extension:nhsMHSActor.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://fhir.nhs.uk/StructureDefinition/Extension-SDS-ReliabilityConfiguration" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>