<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.nhs.uk/StructureDefinition/England-Parameters-SubscriptionStatus" />
  <name value="EnglandParametersSubscriptionStatus" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Parameters" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Parameters" />
  <derivation value="constraint" />
  <differential>
    <element id="Parameters">
      <path value="Parameters" />
      <short value="This is based on R4 SubscriptionStatus" />
      <definition value="See http://hl7.org/fhir/5.0.0-snapshot1/subscriptionstatus.html" />
    </element>
    <element id="Parameters.parameter">
      <path value="Parameters.parameter" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="name" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Parameters.parameter:status">
      <path value="Parameters.parameter" />
      <sliceName value="status" />
      <short value="requested | active | error | off | entered-in-error" />
    </element>
    <element id="Parameters.parameter:status.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="status" />
    </element>
    <element id="Parameters.parameter:status.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="code" />
      </type>
    </element>
    <element id="Parameters.parameter:status.part">
      <path value="Parameters.parameter.part" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent">
      <path value="Parameters.parameter" />
      <sliceName value="notificationEvent" />
      <short value="Detailed information about any events relevant to this notification" />
      <min value="1" />
    </element>
    <element id="Parameters.parameter:notificationEvent.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="notificationEvent" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part">
      <path value="Parameters.parameter.part" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="name" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:timestamp">
      <path value="Parameters.parameter.part" />
      <sliceName value="timestamp" />
      <short value="The instant this event occurred" />
      <max value="1" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:timestamp.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="timestamp" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:timestamp.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="instant" />
      </type>
    </element>
    <element id="Parameters.parameter:notificationEvent.part:timestamp.part">
      <path value="Parameters.parameter.part.part" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:focus">
      <path value="Parameters.parameter.part" />
      <sliceName value="focus" />
      <min value="1" />
      <max value="1" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:focus.name">
      <path value="Parameters.parameter.part.name" />
      <short value="The focus of this event" />
      <fixedString value="focus" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:focus.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Parameters.parameter:notificationEvent.part:focus.part">
      <path value="Parameters.parameter.part.part" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:additionalContext">
      <path value="Parameters.parameter.part" />
      <sliceName value="additionalContext" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:additionalContext.name">
      <path value="Parameters.parameter.part.name" />
      <short value="The additionalContext of this event" />
      <fixedString value="additionalContext" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:additionalContext.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Parameters.parameter:notificationEvent.part:additionalContext.part">
      <path value="Parameters.parameter.part.part" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:eventNumber">
      <path value="Parameters.parameter.part" />
      <sliceName value="eventNumber" />
      <short value="Event number" />
      <min value="1" />
      <max value="1" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:eventNumber.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="eventNumber" />
    </element>
    <element id="Parameters.parameter:notificationEvent.part:eventNumber.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="integer" />
      </type>
    </element>
    <element id="Parameters.parameter:notificationEvent.part:eventNumber.part">
      <path value="Parameters.parameter.part.part" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:subscription">
      <path value="Parameters.parameter" />
      <sliceName value="subscription" />
      <short value="Reference to the Subscription responsible for this notification" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:subscription.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="subscription" />
    </element>
    <element id="Parameters.parameter:subscription.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Parameters.parameter:subscription.part">
      <path value="Parameters.parameter.part" />
      <max value="0" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:topic">
      <path value="Parameters.parameter" />
      <sliceName value="topic" />
      <short value="Reference to the SubscriptionTopic this notification relates to" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:topic.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="topic" />
    </element>
    <element id="Parameters.parameter:topic.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="canonical" />
      </type>
    </element>
    <element id="Parameters.parameter:topic.part">
      <path value="Parameters.parameter.part" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
    <element id="Parameters.parameter:error">
      <path value="Parameters.parameter" />
      <sliceName value="error" />
    </element>
    <element id="Parameters.parameter:error.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="error" />
    </element>
    <element id="Parameters.parameter:error.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <strength value="example" />
        <valueSet value="http://hl7.org/fhir/ValueSet/subscription-error" />
      </binding>
    </element>
    <element id="Parameters.parameter:error.part">
      <path value="Parameters.parameter.part" />
      <max value="0" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter" />
    </element>
  </differential>
</StructureDefinition>