<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://apirframework.dedalus.eu/fhir/StructureDefinition/operation-affinitydomain-parametersOut" />
  <name value="operation-affinitydomain-parametersOut" />
  <status value="draft" />
  <fhirVersion value="3.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.parameter">
      <path value="Parameters.parameter" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="name" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:patientMasterIdentifier">
      <path value="Parameters.parameter" />
      <sliceName value="patientMasterIdentifier" />
      <short value="Patient Master Identifier" />
      <definition value="Defines the identifier system acting as master for interoperability outside the boundaries of API Framework (inside API Framework, the Master Identifier is by design Patient.Id, since it is used to build strong references)" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:patientMasterIdentifier.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="patientMasterIdentifier" />
    </element>
    <element id="Parameters.parameter:patientMasterIdentifier.value[x]:valueCoding">
      <path value="Parameters.parameter.valueCoding" />
      <sliceName value="valueCoding" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSetUri value="http://apiframework.dedalus.eu/fhir/ValueSet/PatientIdentifierSystems" />
      </binding>
    </element>
    <element id="Parameters.parameter:testPatient">
      <path value="Parameters.parameter" />
      <sliceName value="testPatient" />
      <short value="Patient used for tests" />
      <definition value="Reference to a Patient instance used by default on tests." />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:testPatient.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="testPatient" />
    </element>
    <element id="Parameters.parameter:testPatient.value[x]:valueReference">
      <path value="Parameters.parameter.valueReference" />
      <sliceName value="valueReference" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:testPractitioner">
      <path value="Parameters.parameter" />
      <sliceName value="testPractitioner" />
      <short value="Practitioner used for tests" />
      <definition value="Reference to Practitioner used by default on tests." />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:testPractitioner.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="testPractitioner" />
    </element>
    <element id="Parameters.parameter:testPractitioner.value[x]:valueReference">
      <path value="Parameters.parameter.valueReference" />
      <sliceName value="valueReference" />
      <min value="1" />
      <type>
        <code value="Reference" />
      </type>
    </element>
  </differential>
</StructureDefinition>