<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Extension" />
  <meta>
    <lastUpdated value="2018-08-20T14:06:23.998+01:00" />
  </meta>
  <url value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-ITK-MessageHandling-2" />
  <version value="2.1.0" />
  <name value="Extension-ITK-MessageHandling-2" />
  <status value="active" />
  <date value="2024-01-22T11:39:06.3872207+00:00" />
  <publisher value="NHS Digital" />
  <contact>
    <name value="Interoperability Team" />
    <telecom>
      <system value="email" />
      <value value="interoperabilityteam@nhs.net" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="This is an extension to support the ITK handling specification. This provides the ability to control the sending of acknowledgements and other values such as profile ID and interaction ID." />
  <purpose value="This extension provides the ability to control the sending of acknowledgements and other values such as profile ID and interaction ID." />
  <copyright value="Copyright ©2018 NHS Digital" />
  <fhirVersion value="3.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <contextType value="resource" />
  <context value="MessageHeader" />
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="An extension to support ITK message handling" />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Extension.extension:BusAckRequested">
      <path value="Extension.extension" />
      <sliceName value="BusAckRequested" />
      <short value="Populated when sender requires a business level response to be returned." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:BusAckRequested.url">
      <path value="Extension.extension.url" />
      <fixedUri value="BusAckRequested" />
    </element>
    <element id="Extension.extension:BusAckRequested.valueBoolean:valueBoolean">
      <path value="Extension.extension.valueBoolean" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Extension.extension:InfAckRequested">
      <path value="Extension.extension" />
      <sliceName value="InfAckRequested" />
      <short value="Populated when sender requires an infrastructure level response to be returned." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:InfAckRequested.url">
      <path value="Extension.extension.url" />
      <fixedUri value="InfAckRequested" />
    </element>
    <element id="Extension.extension:InfAckRequested.valueBoolean:valueBoolean">
      <path value="Extension.extension.valueBoolean" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="Extension.extension:RecipientType">
      <path value="Extension.extension" />
      <sliceName value="RecipientType" />
      <short value="Indicates the type of recipient." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:RecipientType.url">
      <path value="Extension.extension.url" />
      <fixedUri value="RecipientType" />
    </element>
    <element id="Extension.extension:RecipientType.valueCoding:valueCoding">
      <path value="Extension.extension.valueCoding" />
      <sliceName value="valueCoding" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <description value="A set of codes to describe if the recipient has been sent the payload for action or for information." />
        <valueSetReference>
          <reference value="https://fhir.nhs.uk/STU3/ValueSet/ITK-RecipientType-1" />
        </valueSetReference>
      </binding>
    </element>
    <element id="Extension.extension:RecipientType.valueCoding:valueCoding.system">
      <path value="Extension.extension.valueCoding.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.uk/STU3/CodeSystem/ITK-RecipientType-1" />
    </element>
    <element id="Extension.extension:RecipientType.valueCoding:valueCoding.version">
      <path value="Extension.extension.valueCoding.version" />
      <max value="0" />
    </element>
    <element id="Extension.extension:RecipientType.valueCoding:valueCoding.code">
      <path value="Extension.extension.valueCoding.code" />
      <min value="1" />
    </element>
    <element id="Extension.extension:RecipientType.valueCoding:valueCoding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Extension.extension.valueCoding.display" />
      <min value="1" />
    </element>
    <element id="Extension.extension:RecipientType.valueCoding:valueCoding.userSelected">
      <path value="Extension.extension.valueCoding.userSelected" />
      <max value="0" />
    </element>
    <element id="Extension.extension:MessageDefinition">
      <path value="Extension.extension" />
      <sliceName value="MessageDefinition" />
      <short value="A reference to a URL for the MessageDefinition for the payload, which can be any message definition instance which conforms to the ITK message definition profile.   This MessageDefinition will detail the information to allow correct processing of the payload, such as profiles used, message event type, profiles used, responses allowed/ required etc.." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:MessageDefinition.url">
      <path value="Extension.extension.url" />
      <fixedUri value="MessageDefinition" />
    </element>
    <element id="Extension.extension:MessageDefinition.valueReference:valueReference">
      <path value="Extension.extension.valueReference" />
      <sliceName value="valueReference" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Extension.extension:MessageDefinition.valueReference:valueReference.reference">
      <path value="Extension.extension.valueReference.reference" />
      <min value="1" />
    </element>
    <element id="Extension.extension:MessageDefinition.valueReference:valueReference.identifier">
      <path value="Extension.extension.valueReference.identifier" />
      <max value="0" />
    </element>
    <element id="Extension.extension:MessageDefinition.valueReference:valueReference.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Extension.extension.valueReference.display" />
      <max value="0" />
    </element>
    <element id="Extension.extension:SenderReference">
      <path value="Extension.extension" />
      <sliceName value="SenderReference" />
      <short value="A reference that the sender includes and wants returned in any response." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:SenderReference.url">
      <path value="Extension.extension.url" />
      <fixedUri value="SenderReference" />
    </element>
    <element id="Extension.extension:SenderReference.valueString:valueString">
      <path value="Extension.extension.valueString" />
      <sliceName value="valueString" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
      <maxLength value="255" />
    </element>
    <element id="Extension.extension:LocalExtension">
      <path value="Extension.extension" />
      <sliceName value="LocalExtension" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Extension.extension:LocalExtension.url">
      <path value="Extension.extension.url" />
      <fixedUri value="LocalExtension" />
    </element>
    <element id="Extension.extension:LocalExtension.value[x]">
      <path value="Extension.extension.value[x]" />
      <min value="1" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-ITK-MessageHandling-2" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>