<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://nijz.si/rdsp/fhir/StructureDefinition/SchoolClassSI" />
  <name value="SchoolClassSI" />
  <status value="draft" />
  <fhirVersion value="4.1.0" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Group" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Group" />
  <derivation value="constraint" />
  <differential>
    <element id="Group.characteristic">
      <path value="Group.characteristic" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="code.coding.code" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Group.characteristic:SchoolYear">
      <path value="Group.characteristic" />
      <sliceName value="SchoolYear" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Group.characteristic:SchoolYear.code.coding.system">
      <path value="Group.characteristic.code.coding.system" />
      <patternUri value="urn:nijz:crpp:characteristicscode" />
    </element>
    <element id="Group.characteristic:SchoolYear.code.coding.code">
      <path value="Group.characteristic.code.coding.code" />
      <patternCode value="SchoolYear" />
    </element>
    <element id="Group.characteristic:SchoolYear.code.text">
      <path value="Group.characteristic.code.text" />
      <example>
        <label value="sample" />
        <valueString value="SchoolYear" />
      </example>
    </element>
    <element id="Group.characteristic:SchoolYear.value[x]">
      <path value="Group.characteristic.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Group.characteristic:SchoolYear.value[x].coding.system">
      <path value="Group.characteristic.value[x].coding.system" />
      <patternUri value="urn:nijz:personsperclass:schoolyear" />
    </element>
    <element id="Group.characteristic:SchoolYear.value[x].text">
      <path value="Group.characteristic.value[x].text" />
      <example>
        <label value="sample" />
        <valueString value="2023/2024" />
      </example>
    </element>
    <element id="Group.characteristic:SchoolYear.exclude">
      <path value="Group.characteristic.exclude" />
      <patternBoolean value="false" />
    </element>
    <element id="Group.characteristic:Class">
      <path value="Group.characteristic" />
      <sliceName value="Class" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Group.characteristic:Class.code.coding.system">
      <path value="Group.characteristic.code.coding.system" />
      <patternUri value="urn:nijz:crpp:characteristicscode" />
    </element>
    <element id="Group.characteristic:Class.code.coding.code">
      <path value="Group.characteristic.code.coding.code" />
      <patternCode value="Class" />
    </element>
    <element id="Group.characteristic:Class.code.text">
      <path value="Group.characteristic.code.text" />
      <example>
        <label value="sample" />
        <valueString value="class" />
      </example>
    </element>
    <element id="Group.characteristic:Class.value[x]">
      <path value="Group.characteristic.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Group.characteristic:Class.value[x].coding.system">
      <path value="Group.characteristic.value[x].coding.system" />
      <patternUri value="urn:nijz:personsperclass:class" />
    </element>
    <element id="Group.characteristic:Class.value[x].coding.code">
      <path value="Group.characteristic.value[x].coding.code" />
      <example>
        <label value="1.razred OŠ" />
        <valueCode value="01" />
      </example>
    </element>
    <element id="Group.characteristic:Class.value[x].text">
      <path value="Group.characteristic.value[x].text" />
      <example>
        <label value="1.razred OŠ" />
        <valueString value="01" />
      </example>
    </element>
    <element id="Group.characteristic:Class.exclude">
      <path value="Group.characteristic.exclude" />
      <patternBoolean value="false" />
    </element>
    <element id="Group.characteristic:ProgEnid">
      <path value="Group.characteristic" />
      <sliceName value="ProgEnid" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Group.characteristic:ProgEnid.code.coding.system">
      <path value="Group.characteristic.code.coding.system" />
      <patternUri value="urn:nijz:crpp:characteristicscode" />
    </element>
    <element id="Group.characteristic:ProgEnid.code.coding.code">
      <path value="Group.characteristic.code.coding.code" />
      <patternCode value="ProgEnid" />
    </element>
    <element id="Group.characteristic:ProgEnid.code.text">
      <path value="Group.characteristic.code.text" />
      <patternString value="ProgEnid" />
    </element>
    <element id="Group.characteristic:ProgEnid.value[x]">
      <path value="Group.characteristic.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="Group.characteristic:ProgEnid.value[x].coding.system">
      <path value="Group.characteristic.value[x].coding.system" />
      <patternUri value="urn:mizs:program" />
    </element>
    <element id="Group.characteristic:ProgEnid.value[x].coding.code">
      <path value="Group.characteristic.value[x].coding.code" />
      <example>
        <label value="sample" />
        <valueCode value="636366366363" />
      </example>
    </element>
    <element id="Group.characteristic:ProgEnid.value[x].text">
      <path value="Group.characteristic.value[x].text" />
      <example>
        <label value="sample" />
        <valueString value="636366366363" />
      </example>
    </element>
    <element id="Group.characteristic:ProgEnid.exclude">
      <path value="Group.characteristic.exclude" />
      <patternBoolean value="false" />
    </element>
    <element id="Group.characteristic:AttributedGP">
      <path value="Group.characteristic" />
      <sliceName value="AttributedGP" />
    </element>
    <element id="Group.characteristic:AttributedGP.code.coding.system">
      <path value="Group.characteristic.code.coding.system" />
      <patternUri value="urn:nijz:crpp:characteristicscode" />
    </element>
    <element id="Group.characteristic:AttributedGP.code.coding.code">
      <path value="Group.characteristic.code.coding.code" />
      <patternCode value="attributed-to-gp" />
    </element>
    <element id="Group.characteristic:AttributedGP.value[x]">
      <path value="Group.characteristic.value[x]" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Group.characteristic:AttributedGP.value[x].reference">
      <path value="Group.characteristic.value[x].reference" />
      <example>
        <label value="Organization" />
        <valueString value="Organization/H31186" />
      </example>
      <example>
        <label value="Practitioner" />
        <valueString value="PractitionerRole/7224.5750.0.302.1.2004-08-01" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedGP.value[x].type">
      <path value="Group.characteristic.value[x].type" />
      <example>
        <label value="sample" />
        <valueUri value="Organization" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedGP.value[x].identifier.system">
      <path value="Group.characteristic.value[x].identifier.system" />
      <example>
        <label value="Organization" />
        <valueUri value="urn:nijz:rizzdz:orgID" />
      </example>
      <example>
        <label value="practitioner" />
        <valueUri value="urn:nijz:rizddzd:practitionerId" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedGP.value[x].identifier.value">
      <path value="Group.characteristic.value[x].identifier.value" />
      <example>
        <label value="Organization" />
        <valueString value="50007" />
      </example>
      <example>
        <label value="PractitionerRole" />
        <valueString value="7224.5750.0.302.1.2004-08-01" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedGP.exclude">
      <path value="Group.characteristic.exclude" />
      <patternBoolean value="false" />
    </element>
    <element id="Group.characteristic:AttributedDentist">
      <path value="Group.characteristic" />
      <sliceName value="AttributedDentist" />
    </element>
    <element id="Group.characteristic:AttributedDentist.code.coding.system">
      <path value="Group.characteristic.code.coding.system" />
      <patternUri value="urn:nijz:crpp:characteristicscode" />
    </element>
    <element id="Group.characteristic:AttributedDentist.code.coding.code">
      <path value="Group.characteristic.code.coding.code" />
      <patternCode value="attributed-to-dentist" />
    </element>
    <element id="Group.characteristic:AttributedDentist.code.text">
      <path value="Group.characteristic.code.text" />
      <patternString value="attributed-to-dentist" />
    </element>
    <element id="Group.characteristic:AttributedDentist.value[x]">
      <path value="Group.characteristic.value[x]" />
      <type>
        <code value="Reference" />
      </type>
    </element>
    <element id="Group.characteristic:AttributedDentist.value[x].reference">
      <path value="Group.characteristic.value[x].reference" />
      <example>
        <label value="sample" />
        <valueString value="PractitionerRole/9713.31186.0.302.1.2015-10-09" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedDentist.value[x].type">
      <path value="Group.characteristic.value[x].type" />
      <example>
        <label value="sample" />
        <valueUri value="PractitionerRole" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedDentist.value[x].identifier.system">
      <path value="Group.characteristic.value[x].identifier.system" />
    </element>
    <element id="Group.characteristic:AttributedDentist.value[x].identifier.value">
      <path value="Group.characteristic.value[x].identifier.value" />
      <example>
        <label value="sample" />
        <valueString value="123456" />
      </example>
    </element>
    <element id="Group.characteristic:AttributedDentist.exclude">
      <path value="Group.characteristic.exclude" />
      <patternBoolean value="false" />
    </element>
    <element id="Group.member.extension:eduDetails">
      <path value="Group.member.extension" />
      <sliceName value="eduDetails" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://nijz.si/rdsp/fhir/StructureDefinition/SchoolClassMemberDetailsSI" />
      </type>
      <isModifier value="false" />
    </element>
  </differential>
</StructureDefinition>