{
  "resourceType": "StructureDefinition",
  "url": "https://gen.kanta.fi/fhir/StructureDefinition/KantaPractitionerV2",
  "version": "3.0.0",
  "name": "KantaPractitionerV2",
  "title": "Kanta Practitioner version 2 Profile",
  "status": "draft",
  "date": "2026-03-19",
  "publisher": "Kela",
  "description": "Kanta-palveluissa käytettävä Practitioner-profiilin versio 2. Profiililla ilmoitetaan ammattihenkilön tiedot.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Practitioner",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Practitioner",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Practitioner",
        "path": "Practitioner",
        "short": "Ammattihenkilön tiedot",
        "definition": "Kanta-palveluissa käytettävä Practitioner-profiili, versio 2. Profiililla ilmoitetaan ammattihenkilön tiedot.",
        "constraint": [
          {
            "key": "GEN-PRAC-1",
            "severity": "error",
            "human": "Jos ammattihenkilön rekisteröintinumero (Terhikki/Suosikki) on annettu, sen pituuden tulee olla 11 merkkiä.",
            "expression": "identifier.where(system = 'urn:oid:1.2.246.537.26').all(value.length() = 11)"
          },
          {
            "key": "GEN-PRAC-2",
            "severity": "error",
            "human": "Jos ammattihenkilön henkilötunnus on annettu, sen pituuden tulee olla 11 merkkiä.",
            "expression": "identifier.where(system = 'urn:oid:1.2.246.21').all(value.length() = 11)"
          },
          {
            "key": "GEN-PRAC-3",
            "severity": "error",
            "human": "Jos ammattihenkilön SV-numero on annettu, se voi olla korkeintaan 8 merkkiä.",
            "expression": "identifier.where(system = 'urn:oid:1.2.246.537.25').all(value.length() < 9)"
          },
          {
            "key": "GEN-PRAC-4",
            "severity": "error",
            "human": "Jotain sallituista ammattihenkilön tunnistautumisen koodistoista on käytettävä.",
            "expression": "identifier.exists(system = 'urn:oid:1.2.246.537.26' or system = 'urn:oid:1.2.246.21' or system = 'urn:oid:1.2.246.537.25' or system = 'urn:oid:1.2.246.537.29')"
          }
        ]
      },
      {
        "id": "Practitioner.meta",
        "path": "Practitioner.meta"
      },
      {
        "id": "Practitioner.meta.profile",
        "path": "Practitioner.meta.profile",
        "min": 1,
        "max": "1",
        "fixedCanonical": "https://gen.kanta.fi/fhir/StructureDefinition/KantaPractitionerV2"
      },
      {
        "id": "Practitioner.extension:practitionerTitle",
        "path": "Practitioner.extension",
        "sliceName": "practitionerTitle",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://gen.kanta.fi/fhir/StructureDefinition/extension/PractitionerTitle"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Practitioner.identifier",
        "path": "Practitioner.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Practitioner.identifier:Rekisterointinumero",
        "path": "Practitioner.identifier",
        "sliceName": "Rekisterointinumero",
        "short": "Ammattihenkilön Suosikki- tai Terhikki-tunnus",
        "definition": "Suosikki-tunnus tai Terhikki-tunnus, jolla ammattihenkilö on yksilöity.",
        "max": "1"
      },
      {
        "id": "Practitioner.identifier:Rekisterointinumero.id",
        "path": "Practitioner.identifier.id",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:Rekisterointinumero.use",
        "path": "Practitioner.identifier.use",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:Rekisterointinumero.type",
        "path": "Practitioner.identifier.type",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:Rekisterointinumero.system",
        "path": "Practitioner.identifier.system",
        "short": "Tunnuksen nimiavaruus",
        "definition": "Suosikki- ja Terhikki-tunnuksen nimiavaruutena käytetään urn:oid:1.2.246.537.26",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.537.26"
      },
      {
        "id": "Practitioner.identifier:Rekisterointinumero.value",
        "path": "Practitioner.identifier.value",
        "short": "Ammattihenkilön tunnus",
        "definition": "Ammattihenkilön Suosikki-tai Terhikki-tunnus ilman käytettävää nimiavaruutta.",
        "min": 1
      },
      {
        "id": "Practitioner.identifier:SV-number",
        "path": "Practitioner.identifier",
        "sliceName": "SV-number",
        "max": "1"
      },
      {
        "id": "Practitioner.identifier:SV-number.id",
        "path": "Practitioner.identifier.id",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:SV-number.use",
        "path": "Practitioner.identifier.use",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:SV-number.type",
        "path": "Practitioner.identifier.type",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:SV-number.system",
        "path": "Practitioner.identifier.system",
        "short": "SV-numeron nimiavaruus",
        "definition": "Nimiavaruutena käytetään urn:oid:1.2.246.537.25",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.537.25"
      },
      {
        "id": "Practitioner.identifier:SV-number.value",
        "path": "Practitioner.identifier.value",
        "short": "SV-numero",
        "definition": "Ammattihenkilön SV-numero ilman käytettävään nimiavaruutta.",
        "min": 1
      },
      {
        "id": "Practitioner.identifier:SV-number.period",
        "path": "Practitioner.identifier.period",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:SV-number.assigner",
        "path": "Practitioner.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:PIC",
        "path": "Practitioner.identifier",
        "sliceName": "PIC",
        "short": "Ammattihenkilön henkilötunnus",
        "definition": "Henkilötunnus, jolla ammattihenkilö on yksilöity.",
        "max": "1"
      },
      {
        "id": "Practitioner.identifier:PIC.id",
        "path": "Practitioner.identifier.id",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:PIC.use",
        "path": "Practitioner.identifier.use",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:PIC.type",
        "path": "Practitioner.identifier.type",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:PIC.system",
        "path": "Practitioner.identifier.system",
        "short": "Ammattihenkilön henkilötunnus",
        "definition": "Henkilötunnuksen nimiavaruutena käytetään urn:oid:1.2.246.21.",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.21"
      },
      {
        "id": "Practitioner.identifier:PIC.value",
        "path": "Practitioner.identifier.value",
        "short": "Henkilötunnus",
        "definition": "Ammattihenkilön henkilötunnus ilman käytettävää nimiavaruutta.",
        "min": 1
      },
      {
        "id": "Practitioner.identifier:PIC.period",
        "path": "Practitioner.identifier.period",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:PIC.assigner",
        "path": "Practitioner.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus",
        "path": "Practitioner.identifier",
        "sliceName": "VRK-tunnus",
        "short": "Digi- ja väestötietoviraston yksilöivä tunnus",
        "definition": "Digi- ja väestötietoviraston myöntämä yksilöivä tunnus, jolla ammattihenkilö on yksilöity.",
        "max": "1"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.id",
        "path": "Practitioner.identifier.id",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.use",
        "path": "Practitioner.identifier.use",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.type",
        "path": "Practitioner.identifier.type",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.system",
        "path": "Practitioner.identifier.system",
        "short": "DVV:n yksilöivän tunnuksen nimiavaruus",
        "definition": "Digi- ja väestötietoviraston (DVV) myöntämän yksilöivän tunnuksen nimiavaruutena käytetään urn:oid:1.2.246.537.29.",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.537.29"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.value",
        "path": "Practitioner.identifier.value",
        "short": "Yksilöivä tunnus",
        "definition": "Digi- ja väestötietoviraston myöntämän yksilöivä tunnus ilman käytettävää nimiavaruutta.",
        "min": 1
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.period",
        "path": "Practitioner.identifier.period",
        "max": "0"
      },
      {
        "id": "Practitioner.identifier:VRK-tunnus.assigner",
        "path": "Practitioner.identifier.assigner",
        "max": "0"
      },
      {
        "id": "Practitioner.active",
        "path": "Practitioner.active",
        "max": "0"
      },
      {
        "id": "Practitioner.name",
        "path": "Practitioner.name",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Practitioner.name.family",
        "path": "Practitioner.name.family",
        "min": 1
      },
      {
        "id": "Practitioner.name.given",
        "path": "Practitioner.name.given",
        "min": 1
      },
      {
        "id": "Practitioner.name.prefix",
        "path": "Practitioner.name.prefix",
        "max": "1"
      },
      {
        "id": "Practitioner.name.suffix",
        "path": "Practitioner.name.suffix",
        "max": "1"
      },
      {
        "id": "Practitioner.telecom",
        "path": "Practitioner.telecom",
        "max": "0"
      },
      {
        "id": "Practitioner.address",
        "path": "Practitioner.address",
        "max": "0"
      },
      {
        "id": "Practitioner.gender",
        "path": "Practitioner.gender",
        "max": "0"
      },
      {
        "id": "Practitioner.birthDate",
        "path": "Practitioner.birthDate",
        "max": "0"
      },
      {
        "id": "Practitioner.photo",
        "path": "Practitioner.photo",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification",
        "path": "Practitioner.qualification",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "code.coding.system"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Practitioner.qualification.identifier",
        "path": "Practitioner.qualification.identifier",
        "max": "1"
      },
      {
        "id": "Practitioner.qualification.code.id",
        "path": "Practitioner.qualification.code.id",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification.code.coding.version",
        "path": "Practitioner.qualification.code.coding.version",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification.code.coding.display",
        "path": "Practitioner.qualification.code.coding.display",
        "definition": "Ammattioikeuden kuvauksen on vastattava annettua koodiarvoa"
      },
      {
        "id": "Practitioner.qualification.code.coding.userSelected",
        "path": "Practitioner.qualification.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus",
        "path": "Practitioner.qualification",
        "sliceName": "Ammattioikeus",
        "short": "Ammattihenkilön ammattioikeus"
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus.identifier",
        "path": "Practitioner.qualification.identifier",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus.code.coding.system",
        "path": "Practitioner.qualification.code.coding.system",
        "short": "Käytettävä luokitus",
        "definition": "Luokituksen Valvira - Ammattioikeudet  id (1.2.246.537.6.140)",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.537.6.140.2008"
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus.code.coding.version",
        "path": "Practitioner.qualification.code.coding.version",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus.code.coding.code",
        "path": "Practitioner.qualification.code.coding.code",
        "short": "Ammattioikeus koodiarvona",
        "definition": "Ammattioikeus ilmoitetaan Valvira - Ammattioikeudet luokituksen arvona",
        "min": 1
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus.code.coding.display",
        "path": "Practitioner.qualification.code.coding.display",
        "short": "Ammattioikeus tekstimuodossa",
        "definition": "Tiedon tulee vastata annettua koodiarvoa",
        "min": 1
      },
      {
        "id": "Practitioner.qualification:Ammattioikeus.code.coding.userSelected",
        "path": "Practitioner.qualification.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Erikoisala",
        "path": "Practitioner.qualification",
        "sliceName": "Erikoisala",
        "short": "ammattihenkilön erikoisala"
      },
      {
        "id": "Practitioner.qualification:Erikoisala.identifier",
        "path": "Practitioner.qualification.identifier",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Erikoisala.code.coding.system",
        "path": "Practitioner.qualification.code.coding.system",
        "short": "Käytettävä luokitus",
        "definition": "Luokituksen Valvira - Koulutusluokitus id (1.2.246.537.6.148) id",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.537.6.148.2008"
      },
      {
        "id": "Practitioner.qualification:Erikoisala.code.coding.code",
        "path": "Practitioner.qualification.code.coding.code",
        "short": "Erityisala koodiarvona",
        "definition": "Erityisala ilmoitetaan luokituksen Valvira - Koulutusluokitus id (1.2.246.537.6.148) arvona",
        "min": 1
      },
      {
        "id": "Practitioner.qualification:Erikoisala.code.coding.display",
        "path": "Practitioner.qualification.code.coding.display",
        "short": "Erityisala tekstimuodossa",
        "definition": "Kuvauksen tulee vastata annettua koodiarvoa",
        "min": 1
      },
      {
        "id": "Practitioner.qualification:Erikoisala.code.coding.userSelected",
        "path": "Practitioner.qualification.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Erikoisala.period",
        "path": "Practitioner.qualification.period",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Erikoisala.issuer",
        "path": "Practitioner.qualification.issuer",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammatti",
        "path": "Practitioner.qualification",
        "sliceName": "Ammatti",
        "short": "sosiaali- tai terveydenhuollon ammattihenkilön ammatti"
      },
      {
        "id": "Practitioner.qualification:Ammatti.identifier",
        "path": "Practitioner.qualification.identifier",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammatti.code.coding.system",
        "path": "Practitioner.qualification.code.coding.system",
        "short": "Käytettävä luokitus",
        "definition": "Luokituksen TK - Ammattiluokitus (1.2.246.537.6.74.2001) id",
        "min": 1,
        "fixedUri": "urn:oid:1.2.246.537.6.74.2001"
      },
      {
        "id": "Practitioner.qualification:Ammatti.code.coding.version",
        "path": "Practitioner.qualification.code.coding.version",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammatti.code.coding.code",
        "path": "Practitioner.qualification.code.coding.code",
        "short": "Ammatti koodiarvona",
        "definition": "Ammatti ilmoitetaan luokituksen TK - Ammattiluokitus (1.2.246.537.6.74.2001)  arvona",
        "min": 1
      },
      {
        "id": "Practitioner.qualification:Ammatti.code.coding.display",
        "path": "Practitioner.qualification.code.coding.display",
        "short": "Ammatti tekstimuodossa",
        "definition": "Kuvauksen tulee vastata annettua koodiarvoa",
        "min": 1
      },
      {
        "id": "Practitioner.qualification:Ammatti.code.coding.userSelected",
        "path": "Practitioner.qualification.code.coding.userSelected",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammatti.period",
        "path": "Practitioner.qualification.period",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification:Ammatti.issuer",
        "path": "Practitioner.qualification.issuer",
        "max": "0"
      },
      {
        "id": "Practitioner.communication",
        "path": "Practitioner.communication",
        "max": "0"
      }
    ]
  }
}