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