<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://gen.kanta.fi/fhir/StructureDefinition/MitatointiProvenance" />
  <version value="0.6.0" />
  <name value="MitatointiProvenance" />
  <status value="draft" />
  <date value="2025-10-08" />
  <publisher value="Kela" />
  <description value="Kanta-palveluissa käytettävä Provenance-profiili, jota käytetään resurssin mitätöimisessä." />
  <purpose value="Kanta-palveluissa käytettävä Provenance-profiili, jota käytetään resurssin mitätöimisessä." />
  <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.meta">
      <path value="Provenance.meta" />
    </element>
    <element id="Provenance.meta.profile">
      <path value="Provenance.meta.profile" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.extension">
      <path value="Provenance.extension" />
      <min value="1" />
    </element>
    <element id="Provenance.extension:status">
      <path value="Provenance.extension" />
      <sliceName value="status" />
      <type>
        <code value="Extension" />
        <profile value="https://gen.kanta.fi/fhir/StructureDefinition/extension/Status" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Provenance.target">
      <path value="Provenance.target" />
      <short value="Mitätöitävän resurssin yksilöivä tunniste" />
      <definition value="Sen resurssin yksilöivä tunniste, joka mitätöidään." />
      <max value="1" />
    </element>
    <element id="Provenance.target.id">
      <path value="Provenance.target.id" />
      <max value="0" />
    </element>
    <element id="Provenance.target.reference">
      <path value="Provenance.target.reference" />
      <short value="Mitätöitävän pääresurssi-instanssin looginen id" />
      <definition value="Sen resurssi-instanssin looginen id, joka mitätöidään." />
      <min value="1" />
    </element>
    <element id="Provenance.target.type">
      <path value="Provenance.target.type" />
      <max value="0" />
    </element>
    <element id="Provenance.target.identifier">
      <path value="Provenance.target.identifier" />
      <max value="0" />
    </element>
    <element id="Provenance.target.display">
      <path value="Provenance.target.display" />
      <short value="Nimike" />
      <definition value="Mitätöitävän resurssin nimeke.&#xD;&#xA;&#xD;&#xA;Huom! Tämä on määriteltävä tarkemmin toimialakohtaisesti." />
    </element>
    <element id="Provenance.occurred[x]">
      <path value="Provenance.occurred[x]" />
      <max value="0" />
    </element>
    <element id="Provenance.recorded">
      <path value="Provenance.recorded" />
      <short value="Laatimis-/tallennusaika" />
      <definition value="Mitätöinnissä käytettävän Provenenance-resurssin laatimis-/tallennusaika." />
    </element>
    <element id="Provenance.policy">
      <path value="Provenance.policy" />
      <max value="0" />
    </element>
    <element id="Provenance.location">
      <path value="Provenance.location" />
      <max value="0" />
    </element>
    <element id="Provenance.reason">
      <path value="Provenance.reason" />
      <max value="0" />
    </element>
    <element id="Provenance.reason.id">
      <path value="Provenance.reason.id" />
      <max value="0" />
    </element>
    <element id="Provenance.reason.coding">
      <path value="Provenance.reason.coding" />
      <max value="0" />
    </element>
    <element id="Provenance.activity">
      <path value="Provenance.activity" />
      <short value="Mitätöinnin syy" />
      <definition value="Rakenteessa ilmoitetaan syy miksi resurssi mitätöidään." />
      <min value="1" />
    </element>
    <element id="Provenance.activity.id">
      <path value="Provenance.activity.id" />
      <max value="0" />
    </element>
    <element id="Provenance.activity.coding">
      <path value="Provenance.activity.coding" />
      <short value="Mitätöinnin syy" />
      <definition value="Mitätöinnin syy koodiarvolla ilmoitettuna, käytetään sosiaalihuollossa." />
      <max value="1" />
    </element>
    <element id="Provenance.activity.coding.id">
      <path value="Provenance.activity.coding.id" />
      <max value="0" />
    </element>
    <element id="Provenance.activity.coding.system">
      <path value="Provenance.activity.coding.system" />
      <short value="Käytettävä koodisto" />
      <definition value="Sosiaalihuollossa käytetään koodistoa Sosiaalihuolto - Asiakirjan mitätöinnin syy." />
      <min value="1" />
    </element>
    <element id="Provenance.activity.coding.version">
      <path value="Provenance.activity.coding.version" />
      <max value="0" />
    </element>
    <element id="Provenance.activity.coding.code">
      <path value="Provenance.activity.coding.code" />
      <short value="Mitätöinnin syyn koodiarvo" />
      <min value="1" />
    </element>
    <element id="Provenance.activity.coding.display">
      <path value="Provenance.activity.coding.display" />
      <short value="Mitätöinnin syy" />
      <definition value="Koodiarvoa vastaava mitätöinnin syy." />
      <min value="1" />
    </element>
    <element id="Provenance.activity.coding.userSelected">
      <path value="Provenance.activity.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Provenance.activity.text">
      <path value="Provenance.activity.text" />
      <short value="Mitätöinnin syy" />
      <definition value="Resurssin mitätöinnin syy vapaatekstinä, käytetään terveydenhuollossa." />
    </element>
    <element id="Provenance.agent">
      <path value="Provenance.agent" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="role.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Provenance.agent.role">
      <path value="Provenance.agent.role" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://gen.kanta.fi/ValueSet/figen-vs-provenancerolecategory" />
      </binding>
    </element>
    <element id="Provenance.agent.role.id">
      <path value="Provenance.agent.role.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent.role.text">
      <path value="Provenance.agent.role.text" />
      <max value="0" />
    </element>
    <element id="Provenance.agent.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPatient" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPractitioner" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaDevice" />
      </type>
    </element>
    <element id="Provenance.agent.who.id">
      <path value="Provenance.agent.who.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent.who.type">
      <path value="Provenance.agent.who.type" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient">
      <path value="Provenance.agent" />
      <sliceName value="Patient" />
      <short value="Asiakas tai potilas" />
      <definition value="Sen asiakkaan tai potilaan tiedot, johon liittyvä resurssi mitätöidään." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Patient.id">
      <path value="Provenance.agent.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.type">
      <path value="Provenance.agent.type" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.role">
      <path value="Provenance.agent.role" />
      <code>
        <system value="http://gen.kanta.fi/figen-cs-provenancerolecategory" />
      </code>
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://gen.kanta.fi/ValueSet/figen-vs-provenancerolecategory" />
      </binding>
    </element>
    <element id="Provenance.agent:Patient.role.id">
      <path value="Provenance.agent.role.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Patient.role.coding.id">
      <path value="Provenance.agent.role.coding.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.role.coding.system">
      <path value="Provenance.agent.role.coding.system" />
      <min value="1" />
      <fixedUri value="http://gen.kanta.fi/figen-cs-provenancerolecategory" />
    </element>
    <element id="Provenance.agent:Patient.role.coding.version">
      <path value="Provenance.agent.role.coding.version" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="3" />
    </element>
    <element id="Provenance.agent:Patient.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Patient.role.coding.userSelected">
      <path value="Provenance.agent.role.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.role.text">
      <path value="Provenance.agent.role.text" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPatient" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Provenance.agent:Patient.who.id">
      <path value="Provenance.agent.who.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.who.reference">
      <path value="Provenance.agent.who.reference" />
      <short value="Viittaus käytettävään resurssiin" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Patient.who.type">
      <path value="Provenance.agent.who.type" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.who.identifier">
      <path value="Provenance.agent.who.identifier" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.who.display">
      <path value="Provenance.agent.who.display" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Patient.onBehalfOf">
      <path value="Provenance.agent.onBehalfOf" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner">
      <path value="Provenance.agent" />
      <sliceName value="Practitioner" />
      <short value="Mitätöinnin tekijä" />
      <definition value="Sen sosiaali- ja terveydenhuollon ammattihenkilön tai arkistonhoitajan tiedot, joka mitätöi resurssin." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Practitioner.id">
      <path value="Provenance.agent.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.type">
      <path value="Provenance.agent.type" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.role">
      <path value="Provenance.agent.role" />
      <code>
        <system value="http://gen.kanta.fi/figen-cs-provenancerolecategory" />
      </code>
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="http://gen.kanta.fi/ValueSet/figen-vs-provenancerolecategory" />
      </binding>
    </element>
    <element id="Provenance.agent:Practitioner.role.id">
      <path value="Provenance.agent.role.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding.id">
      <path value="Provenance.agent.role.coding.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding.system">
      <path value="Provenance.agent.role.coding.system" />
      <min value="1" />
      <fixedUri value="http://gen.kanta.fi/figen-cs-provenancerolecategory" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding.version">
      <path value="Provenance.agent.role.coding.version" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="2" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Practitioner.role.coding.userSelected">
      <path value="Provenance.agent.role.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.role.text">
      <path value="Provenance.agent.role.text" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPractitioner" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Provenance.agent:Practitioner.who.id">
      <path value="Provenance.agent.who.id" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.who.reference">
      <path value="Provenance.agent.who.reference" />
      <short value="Viittaus käytettävään resurssiin" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Practitioner.who.type">
      <path value="Provenance.agent.who.type" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.who.identifier">
      <path value="Provenance.agent.who.identifier" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.who.display">
      <path value="Provenance.agent.who.display" />
      <max value="0" />
    </element>
    <element id="Provenance.agent:Practitioner.onBehalfOf">
      <path value="Provenance.agent.onBehalfOf" />
      <max value="0" />
    </element>
    <element id="Provenance.entity">
      <path value="Provenance.entity" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.entity.id">
      <path value="Provenance.entity.id" />
      <max value="0" />
    </element>
    <element id="Provenance.entity.role">
      <path value="Provenance.entity.role" />
      <fixedCode value="removal" />
    </element>
    <element id="Provenance.entity.what.id">
      <path value="Provenance.entity.what.id" />
      <max value="0" />
    </element>
    <element id="Provenance.entity.what.reference">
      <path value="Provenance.entity.what.reference" />
      <short value="Mitätöitävän resurssi-instanssin looginen id" />
      <definition value="Sen resurssi-instanssin looginen id, joka mitätöidään." />
      <min value="1" />
    </element>
    <element id="Provenance.entity.what.type">
      <path value="Provenance.entity.what.type" />
      <max value="0" />
    </element>
    <element id="Provenance.entity.what.identifier">
      <path value="Provenance.entity.what.identifier" />
      <max value="0" />
    </element>
    <element id="Provenance.entity.what.display">
      <path value="Provenance.entity.what.display" />
      <short value="Nimike" />
      <definition value="Mitätöitävän resurssin nimeke.&#xD;&#xA;&#xD;&#xA;Huom! Tämä on määriteltävä tarkemmin toimialakohtaisesti." />
      <max value="0" />
    </element>
    <element id="Provenance.entity.agent">
      <path value="Provenance.entity.agent" />
      <max value="0" />
    </element>
    <element id="Provenance.signature">
      <path value="Provenance.signature" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>