{
  "resourceType": "StructureDefinition",
  "url": "https://example.org/fhir/StructureDefinition/MyPatientSI",
  "name": "MyPatientSI",
  "status": "draft",
  "fhirVersion": "4.3.0",
  "kind": "resource",
  "abstract": false,
  "type": "Patient",
  "baseDefinition": "https://nijz.si/rdsp/fhir/StructureDefinition/patientSI",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Patient.telecom",
        "path": "Patient.telecom",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "value"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Patient.telecom:unverified",
        "path": "Patient.telecom",
        "sliceName": "unverified"
      },
      {
        "id": "Patient.telecom:unverified.extension:telecomDetailsSI",
        "path": "Patient.telecom.extension",
        "sliceName": "telecomDetailsSI",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://nijz.si/rdsp/fhir/StructureDefinition/TelecomDetails"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.telecom:unverified.extension:telecomDetailsSI.extension:TelecomConfirmed",
        "path": "Patient.telecom.extension.extension",
        "sliceName": "TelecomConfirmed"
      },
      {
        "id": "Patient.telecom:unverified.extension:telecomDetailsSI.extension:TelecomConfirmed.value[x]",
        "path": "Patient.telecom.extension.extension.value[x]",
        "fixedBoolean": false
      },
      {
        "id": "Patient.telecom:unverified.value",
        "path": "Patient.telecom.value",
        "constraint": [
          {
            "key": "telecom-value-constraint-length",
            "severity": "error",
            "human": "Telecom value should be a phone number with 6 to 10 digits",
            "expression": "telecom.where(system='phone').value.matches('^\\\\d{6,10}$')",
            "xpath": "exists(f:telecom[f:system/@value='phone']/f:value/@value)",
            "source": "https://nijz.si/rdsp/fhir/StructureDefinition/custom-Patient-telecom"
          }
        ]
      },
      {
        "id": "Patient.telecom:verified",
        "path": "Patient.telecom",
        "sliceName": "verified",
        "max": "1"
      },
      {
        "id": "Patient.telecom:verified.extension:telecomDetailsSI",
        "path": "Patient.telecom.extension",
        "sliceName": "telecomDetailsSI",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://nijz.si/rdsp/fhir/StructureDefinition/TelecomDetails"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.telecom:verified.extension:telecomDetailsSI.extension:TelecomConfirmed",
        "path": "Patient.telecom.extension.extension",
        "sliceName": "TelecomConfirmed"
      },
      {
        "id": "Patient.telecom:verified.extension:telecomDetailsSI.extension:TelecomConfirmed.value[x]",
        "path": "Patient.telecom.extension.extension.value[x]",
        "fixedBoolean": true
      },
      {
        "id": "Patient.telecom:verified.system",
        "path": "Patient.telecom.system",
        "patternCode": "phone"
      },
      {
        "id": "Patient.telecom:verified.use",
        "path": "Patient.telecom.use",
        "patternCode": "mobile"
      }
    ]
  }
}