{
  "resourceType": "StructureDefinition",
  "id": "dfc97fc4-b1ec-426d-bf78-9dda32523560",
  "meta": {
    "lastUpdated": "2021-11-15T15:51:10.367+00:00"
  },
  "url": "https://testprojektbu.example.org/fhir/StructureDefinition/MeinAufgabe2Patient",
  "name": "MeinAufgabe2Patient",
  "status": "draft",
  "date": "2021-11-15T15:41:47.1844579+00:00",
  "description": "Patient mit Pflichtfeldern und profilierter Adresse.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Patient",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Patient",
        "path": "Patient",
        "constraint": [
          {
            "key": "FehlerGKVWohnortDE",
            "severity": "warning",
            "human": "Bei GKV muss Wohnort in DE sein!",
            "expression": "Patient.identifier.where(system='http://fhir.de/sid/gkv/kvid-10').exists().not() or Patient.address.where(country='DE').exists()"
          }
        ]
      },
      {
        "id": "Patient.extension",
        "path": "Patient.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Patient.extension:spezies",
        "path": "Patient.extension",
        "sliceName": "spezies",
        "min": 1,
        "max": "*",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://testprojektbu.example.org/fhir/StructureDefinition/MeineSpeziesExt"
            ]
          }
        ]
      },
      {
        "id": "Patient.identifier",
        "path": "Patient.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "description": "In der Praxis hat es sich nicht erprobt, dass wertvergleiche nicht geeigent ist. Einrichtungsinterne Sachen sind ungeeigenet. Da ist Pattern besser.  Patternmatching ist hier noch besser geeigent ()siehe isikDiagnose.",
          "rules": "open"
        }
      },
      {
        "id": "Patient.identifier:buergerID",
        "path": "Patient.identifier",
        "sliceName": "buergerID",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Patient.identifier:buergerID.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "fixedUri": "http://fhir.ufp/NamingSystem/ufp-citizen-id"
      },
      {
        "id": "Patient.identifier:buergerID.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.identifier:versichertenID",
        "path": "Patient.identifier",
        "sliceName": "versichertenID",
        "max": "1"
      },
      {
        "id": "Patient.identifier:versichertenID.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "fixedUri": "http://fhir.de/sid/gkv/kvid-10"
      },
      {
        "id": "Patient.identifier:versichertenID.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.name",
        "path": "Patient.name",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "use"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Patient.name:maiden",
        "path": "Patient.name",
        "sliceName": "maiden",
        "max": "1"
      },
      {
        "id": "Patient.name:maiden.use",
        "path": "Patient.name.use",
        "min": 1,
        "fixedCode": "maiden"
      },
      {
        "id": "Patient.name:maiden.family",
        "path": "Patient.name.family",
        "min": 1
      },
      {
        "id": "Patient.name:official",
        "path": "Patient.name",
        "sliceName": "official",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Patient.name:official.use",
        "path": "Patient.name.use",
        "min": 1,
        "fixedCode": "official"
      },
      {
        "id": "Patient.name:official.family",
        "path": "Patient.name.family",
        "min": 1
      },
      {
        "id": "Patient.name:official.given",
        "path": "Patient.name.given",
        "min": 1
      },
      {
        "id": "Patient.gender",
        "path": "Patient.gender",
        "min": 1
      },
      {
        "id": "Patient.address",
        "path": "Patient.address",
        "definition": "An address for the individual. --> Hier wollen wir unser Profil einbauen also Canonical einbauen \"https://testprojektbu.example.org/fhir/StructureDefinition/MeineAdresseGrossbuchstabenWeilProfil\"",
        "min": 1,
        "type": [
          {
            "code": "Address",
            "profile": [
              "https://testprojektbu.example.org/fhir/StructureDefinition/MeineAdresseGrossbuchstabenWeilProfil"
            ]
          }
        ]
      },
      {
        "id": "Patient.contact.address",
        "path": "Patient.contact.address",
        "definition": "Address for the contact person. hier können wir das ganze auch machen !!!",
        "type": [
          {
            "code": "Address",
            "profile": [
              "https://testprojektbu.example.org/fhir/StructureDefinition/MeineAdresseGrossbuchstabenWeilProfil"
            ]
          }
        ]
      }
    ]
  }
}