<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ie-core-practitioner" />
  <url value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-practitioner" />
  <name value="IECorePractitioner" />
  <title value="IE Core Practitioner" />
  <status value="draft" />
  <description value="The IE Core Practitioner Profile is based upon the core FHIR Practitioner Resource and defines the minimum set of data required to query and retrieve practitioner demographic information within the Irish healthcare system. It includes identifier slicing for professional registration numbers (HIQA EP/PS 2.6)." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Practitioner" />
  <baseDefinition value="http://hl7.eu/fhir/base/StructureDefinition/practitioner-eu-core" />
  <derivation value="constraint" />
  <differential>
    <element id="Practitioner.identifier">
      <path value="Practitioner.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="An identifier for the practitioner" />
      <comment value="HIQA EP/PS 2.6 Health practitioner registration (Mandatory 1..1): registration with a professional body (2.6.1 type = the body, carried as the identifier system; 2.6.2 value = the registration number). Health practitioners from other EU Member States use their own register's identifier." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:IMC">
      <path value="Practitioner.identifier" />
      <sliceName value="IMC" />
      <short value="Irish Medical Council (IMC) registration number (MCRN)" />
      <definition value="The Irish Medical Council registration number. All practising doctors in Ireland must be registered with the IMC." />
      <comment value="HIQA EP/PS 2.6.2 example: a General Practitioner's six-digit Medical Council Registration Number (MCRN). Given as an example only, so no format is enforced. System URI placeholder (OI-003)." />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:IMC.type">
      <path value="Practitioner.identifier.type" />
      <patternCodeableConcept>
        <coding>
          <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
          <code value="MD" />
          <display value="Medical License number" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Practitioner.identifier:IMC.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <patternUri value="https://hl7-ie.github.io/ie-core/fhir/ie/core/sid/imc" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:IMC.value">
      <path value="Practitioner.identifier.value" />
      <short value="IMC registration number" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:PSI">
      <path value="Practitioner.identifier" />
      <sliceName value="PSI" />
      <short value="Pharmaceutical Society of Ireland (PSI) registration number" />
      <comment value="HIQA EP/PS 2.6.2 example: a pharmacist's PSI registration number may contain up to eight digits. System URI placeholder (OI-003)." />
      <min value="0" />
      <max value="1" />
      <constraint>
        <key value="ie-prac-psi-1" />
        <severity value="warning" />
        <human value="PSI registration number: up to eight digits (HIQA EP/PS 2.6.2)" />
        <expression value="value.matches('^[0-9]{1,8}$')" />
        <source value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-practitioner" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:PSI.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <patternUri value="https://hl7-ie.github.io/ie-core/fhir/ie/core/sid/psi" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:PSI.value">
      <path value="Practitioner.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:NMBI">
      <path value="Practitioner.identifier" />
      <sliceName value="NMBI" />
      <short value="Nursing and Midwifery Board of Ireland (NMBI) registration number" />
      <comment value="HIQA EP/PS 2.6.2: a registered nurse or midwife prescriber records the value for the Registered Nurse Prescriber (RNP) or Registered Midwife Prescriber (RMP) division. Format Requires Clarification. System URI placeholder (OI-003)." />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:NMBI.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <patternUri value="https://hl7-ie.github.io/ie-core/fhir/ie/core/sid/nmbi" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:NMBI.value">
      <path value="Practitioner.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:DentalCouncil">
      <path value="Practitioner.identifier" />
      <sliceName value="DentalCouncil" />
      <short value="Dental Council registration number" />
      <comment value="HIQA EP (definitions, p. 11): registered dentists are prescribers. Format Requires Clarification. System URI placeholder (OI-003)." />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:DentalCouncil.system">
      <path value="Practitioner.identifier.system" />
      <min value="1" />
      <patternUri value="https://hl7-ie.github.io/ie-core/fhir/ie/core/sid/dental-council" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.identifier:DentalCouncil.value">
      <path value="Practitioner.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name">
      <path value="Practitioner.name" />
      <short value="The name(s) associated with the practitioner" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.family">
      <path value="Practitioner.name.family" />
      <short value="Family name (surname)" />
      <comment value="HIQA EP/PS 2.3 Surname (Mandatory 1..1): the registered family name." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.given">
      <path value="Practitioner.name.given" />
      <short value="Given names" />
      <comment value="HIQA EP/PS 2.2 Forename (Mandatory 1..1): the registered first name." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.prefix">
      <path value="Practitioner.name.prefix" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.name.suffix">
      <path value="Practitioner.name.suffix" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.telecom">
      <path value="Practitioner.telecom" />
      <short value="A contact detail for the practitioner" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.telecom.system">
      <path value="Practitioner.telecom.system" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.telecom.value">
      <path value="Practitioner.telecom.value" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.telecom.use">
      <path value="Practitioner.telecom.use" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.address">
      <path value="Practitioner.address" />
      <short value="Address(es) of the practitioner" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.address.line">
      <path value="Practitioner.address.line" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.address.city">
      <path value="Practitioner.address.city" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.address.state">
      <path value="Practitioner.address.state" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://hl7-ie.github.io/ie-core/fhir/ie/core/ValueSet/ie-core-county" />
      </binding>
    </element>
    <element id="Practitioner.address.postalCode">
      <path value="Practitioner.address.postalCode" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.address.country">
      <path value="Practitioner.address.country" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.gender">
      <path value="Practitioner.gender" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification">
      <path value="Practitioner.qualification" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification.identifier">
      <path value="Practitioner.qualification.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification.code">
      <path value="Practitioner.qualification.code" />
      <mustSupport value="true" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://terminology.hl7.org/ValueSet/v2-0360" />
      </binding>
    </element>
    <element id="Practitioner.qualification.period">
      <path value="Practitioner.qualification.period" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.qualification.issuer">
      <path value="Practitioner.qualification.issuer" />
      <mustSupport value="true" />
    </element>
    <element id="Practitioner.communication">
      <path value="Practitioner.communication" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>