<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="sgrdv-base-request-provenance" />
  <url value="http://sante.quebec/fhir/StructureDefinition/sgrdv-base-request-provenance" />
  <name value="SGRDVBaseRequestProvenance" />
  <title value="Provenance de la demande de base (SGRDV)" />
  <status value="active" />
  <experimental value="true" />
  <description value="Provenance de la demande, commune aux surfaces SGRDV et systèmes source pour toutes les opérations. Le système source (portail, DMÉ, SIP-C, SGRDV core) est identifié sur agent.who via une logical reference : Reference.identifier.system pointe vers un NamingSystem reconnu, Reference.identifier.value est facultative et n'est peuplée que si le système souhaite distinguer une instance ou un tenant. Le Device cible de la Reference n'est jamais matérialisé dans le payload (ni en entry, ni en contained)." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Provenance" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Provenance" />
  <derivation value="constraint" />
  <differential>
    <element id="Provenance.target">
      <path value="Provenance.target" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.recorded">
      <path value="Provenance.recorded" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent">
      <path value="Provenance.agent" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://sante.quebec/fhir/StructureDefinition/sgrdv-base-source-system-device" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.who.reference">
      <path value="Provenance.agent.who.reference" />
      <max value="0" />
    </element>
    <element id="Provenance.agent.who.identifier">
      <path value="Provenance.agent.who.identifier" />
      <min value="1" />
    </element>
    <element id="Provenance.agent.who.identifier.system">
      <path value="Provenance.agent.who.identifier.system" />
      <min value="1" />
    </element>
    <element id="Provenance.agent.onBehalfOf">
      <path value="Provenance.agent.onBehalfOf" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://sante.quebec/fhir/StructureDefinition/sgrdv-base-find-organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Provenance.agent.onBehalfOf.reference">
      <path value="Provenance.agent.onBehalfOf.reference" />
      <max value="0" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier">
      <path value="Provenance.agent.onBehalfOf.identifier" />
      <min value="1" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier.type">
      <path value="Provenance.agent.onBehalfOf.identifier.type" />
      <min value="1" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier.type.coding">
      <path value="Provenance.agent.onBehalfOf.identifier.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier.type.coding.system">
      <path value="Provenance.agent.onBehalfOf.identifier.type.coding.system" />
      <fixedUri value="http://sante.quebec/fhir/CodeSystem/sgrdv-identifier-type" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier.type.coding.code">
      <path value="Provenance.agent.onBehalfOf.identifier.type.coding.code" />
      <fixedCode value="CodeEtablissement" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier.system">
      <path value="Provenance.agent.onBehalfOf.identifier.system" />
      <min value="1" />
    </element>
    <element id="Provenance.agent.onBehalfOf.identifier.value">
      <path value="Provenance.agent.onBehalfOf.identifier.value" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>