{
  "resourceType": "StructureDefinition",
  "url": "https://FuroreTrainingDelanie.org/fhir/StructureDefinition/DelaniePatient",
  "version": "0.1",
  "name": "DelaniePatient",
  "status": "draft",
  "description": "Patient profile voor de Furore Training",
  "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",
        "definition": "Patient profile voor de Furore Training"
      },
      {
        "id": "Patient.extension:birthPlace",
        "path": "Patient.extension",
        "sliceName": "birthPlace",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/patient-birthPlace"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.extension:delanieOccupationExtension",
        "path": "Patient.extension",
        "sliceName": "delanieOccupationExtension",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://FuroreTrainingDelanie.org/fhir/StructureDefinition/DelanieOccupationExtension"
            ]
          }
        ],
        "isModifier": false,
        "binding": {
          "strength": "preferred",
          "valueSet": "http://example.org/ValueSets/DelaniesOccupations"
        }
      },
      {
        "id": "Patient.identifier",
        "path": "Patient.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:officialIdentifier",
        "path": "Patient.identifier",
        "sliceName": "officialIdentifier"
      },
      {
        "id": "Patient.identifier:officialIdentifier.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "fixedUri": "http://fhir.nl/fhir/NamingSystem/bsn"
      },
      {
        "id": "Patient.identifier:officialIdentifier.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.identifier:hospitalIdentifier",
        "path": "Patient.identifier",
        "sliceName": "hospitalIdentifier"
      },
      {
        "id": "Patient.identifier:hospitalIdentifier.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "fixedUri": "http://hospital.com/hospitalIdentifier"
      },
      {
        "id": "Patient.identifier:hospitalIdentifier.value",
        "path": "Patient.identifier.value",
        "min": 1
      },
      {
        "id": "Patient.name",
        "path": "Patient.name",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name.family",
        "path": "Patient.name.family",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name.given",
        "path": "Patient.name.given",
        "min": 1,
        "max": "3",
        "mustSupport": true
      },
      {
        "id": "Patient.gender",
        "path": "Patient.gender",
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate",
        "path": "Patient.birthDate",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.address",
        "path": "Patient.address",
        "constraint": [
          {
            "key": "add-1",
            "severity": "error",
            "human": "If the patient has a temporary address, the period this address is in use should be",
            "expression": "(use = 'temp') implies period.exists()"
          }
        ]
      },
      {
        "id": "Patient.address.use",
        "path": "Patient.address.use",
        "condition": [
          "add-1"
        ]
      },
      {
        "id": "Patient.address.period",
        "path": "Patient.address.period",
        "condition": [
          "add-1"
        ]
      }
    ]
  }
}