<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://gen.kanta.fi/fhir/StructureDefinition/MitatointiProvenanceV2" />
  <version value="1.0.0" />
  <name value="MitatointiProvenanceV2" />
  <status value="draft" />
  <date value="2026-03-18" />
  <publisher value="Kela" />
  <description value="Kanta-palveluissa käytettävä Provenance-profiili. Profiilia käytetään resurssin mitätöimisessä." />
  <purpose value="Kanta-palveluissa käytettävä Provenance-profiili. Profiilia 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" />
      <fixedCanonical value="https://gen.kanta.fi/fhir/StructureDefinition/MitatointiProvenanceV2" />
    </element>
    <element id="Provenance.implicitRules">
      <path value="Provenance.implicitRules" />
      <max value="0" />
    </element>
    <element id="Provenance.text">
      <path value="Provenance.text" />
      <max value="0" />
    </element>
    <element id="Provenance.target">
      <path value="Provenance.target" />
      <max value="1" />
    </element>
    <element id="Provenance.target.reference">
      <path value="Provenance.target.reference" />
      <short value="Mitätöitävän pääresurssi-instanssin looginen id" />
      <min value="1" />
    </element>
    <element id="Provenance.target.display">
      <path value="Provenance.target.display" />
      <short value="Nimeke" />
      <definition value="Mitätöitävän resurssin nimeke." />
    </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.activity">
      <path value="Provenance.activity" />
      <short value="Mitätöinnin syy" />
      <definition value="Rakenteessa ilmoitetaan syy miksi resurssi mitätöidään." />
    </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." />
      <max value="1" />
    </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 (1.2.246.537.6.1278.20170).&#xD;&#xA;Terveydenhuollossa ja Tahdonilmaisupalvelussa käytetään koodistoa  eArkisto - Asiakirjan korvauksen syy (1.2.246.537.5.40178.2008)." />
    </element>
    <element id="Provenance.activity.coding.code">
      <path value="Provenance.activity.coding.code" />
      <short value="Mitätöinnin syyn koodiarvo" />
      <definition value="Annetun koodiston mukainen koodiarvo." />
    </element>
    <element id="Provenance.activity.coding.display">
      <path value="Provenance.activity.coding.display" />
      <short value="Mitätöinnin syy" />
      <definition value="Annetun koodiston koodiarvoa vastaava mitätöinnin syy." />
    </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ä." />
    </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.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPractitionerV2" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientV2" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientOfficialID" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaDevice" />
      </type>
    </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.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:Patient.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </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.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.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientV2" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientOfficialID" />
      </type>
    </element>
    <element id="Provenance.agent:Patient.who.reference">
      <path value="Provenance.agent.who.reference" />
      <min value="1" />
    </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.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:Practitioner.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </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.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.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaPractitionerV2" />
      </type>
    </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:PractitionerOrganizationUnit">
      <path value="Provenance.agent" />
      <sliceName value="PractitionerOrganizationUnit" />
      <short value="Palveluyksikkö" />
      <definition value="Resurssin mitätöivän sosiaali- tai terveydenhuollon ammattihenkilön palveluyksikön tiedot." />
      <max value="1" />
    </element>
    <element id="Provenance.agent:PractitionerOrganizationUnit.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:PractitionerOrganizationUnit.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:PractitionerOrganizationUnit.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:PractitionerOrganizationUnit.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="7" />
    </element>
    <element id="Provenance.agent:PractitionerOrganizationUnit.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:PractitionerOrganizationUnit.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Provenance.agent:PractitionerOrganizationUnit.who.identifier">
      <path value="Provenance.agent.who.identifier" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:PractitionerOrganizationUnit.who.identifier.system">
      <path value="Provenance.agent.who.identifier.system" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Device">
      <path value="Provenance.agent" />
      <sliceName value="Device" />
      <short value="Mitätöinnissä käytetty ohjelmisto" />
      <definition value="Ohjelmisto, jossa mitätöinti on tehty" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Device.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:Device.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Device.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:Device.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="4" />
    </element>
    <element id="Provenance.agent:Device.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Device.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://gen.kanta.fi/fhir/StructureDefinition/KantaDevice" />
      </type>
    </element>
    <element id="Provenance.agent:Device.who.reference">
      <path value="Provenance.agent.who.reference" />
      <short value="Viittaus käytettävään resurssiin" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Custodian">
      <path value="Provenance.agent" />
      <sliceName value="Custodian" />
      <short value="Rekisterinpitäjä" />
      <definition value="Mitätöitävän resurssin rekisterinpitäjän tiedot. Rekisterinpitäjän tiedot ovat pakollisia, kun mitätöidään Sosiaalihuollon asiakastietovarantoon tallennettu resurssi." />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Custodian.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:Custodian.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:Custodian.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:Custodian.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="1" />
    </element>
    <element id="Provenance.agent:Custodian.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:Custodian.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Provenance.agent:ServiceProvider">
      <path value="Provenance.agent" />
      <sliceName value="ServiceProvider" />
      <short value="Palveluntuottaja" />
      <definition value="Palveluntuottaja, joka mitätöi resurssin.&#xD;&#xA;&#xD;&#xA;Sosiaalihuollon asiakastietovarannossa tieto on pakollinen, jos sen pääresurssin, joka mitätöidään palveluprosessi on palveluntoteutus tai jos mitätöitävän pääresurssin sosiaalipalvelu on turvakotipalvelu." />
      <max value="1" />
    </element>
    <element id="Provenance.agent:ServiceProvider.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:ServiceProvider.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:ServiceProvider.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:ServiceProvider.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="13" />
    </element>
    <element id="Provenance.agent:ServiceProvider.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:ServiceProvider.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Provenance.agent:ServiceDeliverer">
      <path value="Provenance.agent" />
      <sliceName value="ServiceDeliverer" />
      <short value="Alihankkijana toimiva palveluntuottaja" />
      <definition value="Alihankkijana toimiva palveluntuottaja, joka mitätöi resurssin.&#xD;&#xA;&#xD;&#xA;Sosiaalihuollon asiakastietovarannossa tieto on pakollinen, jos sen pääresurssin, joka mitätöidään palveluprosessi on palveluntoteutus tai jos mitätöitävän pääresurssin sosiaalipalvelu on turvakotipalvelu ja jos resurssin edellisen versio on tallentanut alihankkijana toimiva palveluntuottaja." />
      <max value="1" />
    </element>
    <element id="Provenance.agent:ServiceDeliverer.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:ServiceDeliverer.role.coding">
      <path value="Provenance.agent.role.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.agent:ServiceDeliverer.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:ServiceDeliverer.role.coding.code">
      <path value="Provenance.agent.role.coding.code" />
      <min value="1" />
      <fixedCode value="15" />
    </element>
    <element id="Provenance.agent:ServiceDeliverer.role.coding.display">
      <path value="Provenance.agent.role.coding.display" />
      <min value="1" />
    </element>
    <element id="Provenance.agent:ServiceDeliverer.who">
      <path value="Provenance.agent.who" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
      </type>
    </element>
    <element id="Provenance.entity">
      <path value="Provenance.entity" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Provenance.entity.role">
      <path value="Provenance.entity.role" />
      <fixedCode value="removal" />
    </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.signature">
      <path value="Provenance.signature" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>