PackagesCanonicalsLogsProblems
    Packages
    de.gematik.dev.epa.medication@1.1.0-alpha.5
    https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-add-amts-allergy-intolerance-in-parameters
description: EPA Operation Add AMTS-rZI Allergy Intolerance Input-Parameters
package_name: de.gematik.dev.epa.medication
derivation: constraint
name: EPAOpAddAMTSAllergyIntoleranceInParameters
type: Parameters
elements:
  parameter:
    array: true
    min: 2
    index: 0
    slicing:
      rules: closed
      discriminator:
      - {path: name, type: pattern}
      min: 2
      slices:
        allergyIntolerance:
          match: {name: allergyIntolerance}
          schema:
            mustSupport: true
            array: true
            min: 1
            _required: true
            index: 1
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: allergyIntolerance}
                index: 2
              resource: {type: AllergyIntolerance, index: 3}
            required: [resource]
        performer:
          match: {name: performer}
          schema:
            mustSupport: true
            _required: true
            index: 4
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: performer}
                index: 5
              value:
                choices: []
                index: 7
              resource: {index: 8}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 9
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        _required: true
                        index: 10
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 11
                          value:
                            choices: []
                            index: 13
                          resource: {type: Organization, index: 14}
                          part: {index: 15}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 16
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 17
                          value:
                            choices: []
                            index: 19
                          resource: {type: Practitioner, index: 20}
                          part: {index: 21}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 22
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 23
                          value:
                            choices: []
                            index: 25
                          resource: {type: PractitionerRole, index: 26}
                          part: {index: 27}
                        required: [resource]
            required: [part]
        enterer:
          match: {name: enterer}
          schema:
            mustSupport: true
            index: 28
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: enterer}
                index: 29
              value:
                choices: []
                index: 31
              resource: {index: 32}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 33
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        index: 34
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 35
                          value:
                            choices: []
                            index: 37
                          resource: {type: Organization, index: 38}
                          part: {index: 39}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 40
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 41
                          value:
                            choices: []
                            index: 43
                          resource: {type: Practitioner, index: 44}
                          part: {index: 45}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 46
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 47
                          value:
                            choices: []
                            index: 49
                          resource: {type: PractitionerRole, index: 50}
                          part: {index: 51}
                        required: [resource]
            required: [part]
        author:
          match: {name: author}
          schema:
            mustSupport: true
            index: 52
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: author}
                index: 53
              value:
                choices: []
                index: 55
              resource: {index: 56}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 57
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        index: 58
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 59
                          value:
                            choices: []
                            index: 61
                          resource: {type: Organization, index: 62}
                          part: {index: 63}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 64
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 65
                          value:
                            choices: []
                            index: 67
                          resource: {type: Practitioner, index: 68}
                          part: {index: 69}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 70
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 71
                          value:
                            choices: []
                            index: 73
                          resource: {type: PractitionerRole, index: 74}
                          part: {index: 75}
                        required: [resource]
            required: [part]
        unconfirmedAuthor:
          match: {name: unconfirmedAuthor}
          schema:
            mustSupport: true
            index: 76
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: unconfirmedAuthor}
                index: 77
              value:
                choices: []
                index: 79
              resource: {index: 80}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 81
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        index: 82
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 83
                          value:
                            choices: []
                            index: 85
                          resource: {type: Organization, index: 86}
                          part: {index: 87}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 88
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 89
                          value:
                            choices: []
                            index: 91
                          resource: {type: Practitioner, index: 92}
                          part: {index: 93}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 94
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 95
                          value:
                            choices: []
                            index: 97
                          resource: {type: PractitionerRole, index: 98}
                          part: {index: 99}
                        required: [resource]
            required: [part]
        informant:
          match: {name: informant}
          schema:
            mustSupport: true
            index: 100
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: informant}
                index: 101
              value:
                choices: []
                index: 103
              resource: {index: 104}
              part:
                mustSupport: true
                index: 105
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 1
                  slices:
                    professionals:
                      match: {name: professionals}
                      schema:
                        type: BackboneElement
                        index: 106
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: professionals}
                            index: 107
                          value:
                            choices: []
                            index: 109
                          resource: {index: 110}
                          part:
                            mustSupport: true
                            array: true
                            min: 1
                            max: 3
                            index: 111
                            slicing:
                              rules: closed
                              discriminator:
                              - {path: name, type: pattern}
                              min: 1
                              max: 3
                              slices:
                                organization:
                                  match: {name: organization}
                                  schema:
                                    type: BackboneElement
                                    _required: true
                                    index: 112
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: organization}
                                        index: 113
                                      value:
                                        choices: []
                                        index: 115
                                      resource: {type: Organization, index: 116}
                                      part: {index: 117}
                                    required: [resource]
                                practitioner:
                                  match: {name: practitioner}
                                  schema:
                                    type: BackboneElement
                                    index: 118
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: practitioner}
                                        index: 119
                                      value:
                                        choices: []
                                        index: 121
                                      resource: {type: Practitioner, index: 122}
                                      part: {index: 123}
                                    required: [resource]
                                practitionerRole:
                                  match: {name: practitionerRole}
                                  schema:
                                    type: BackboneElement
                                    index: 124
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: practitionerRole}
                                        index: 125
                                      value:
                                        choices: []
                                        index: 127
                                      resource: {type: PractitionerRole, index: 128}
                                      part: {index: 129}
                                    required: [resource]
                        required: [part]
                    persons:
                      match: {name: persons}
                      schema:
                        type: BackboneElement
                        index: 130
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: persons}
                            index: 131
                          value:
                            choices: []
                            index: 133
                          resource: {index: 134}
                          part:
                            mustSupport: true
                            index: 135
                            slicing:
                              rules: closed
                              discriminator:
                              - {path: name, type: pattern}
                              min: 1
                              max: 1
                              slices:
                                patient:
                                  match: {name: patient}
                                  schema:
                                    type: BackboneElement
                                    index: 136
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: patient}
                                        index: 137
                                      value:
                                        choices: [valueIdentifier]
                                        index: 139
                                      valueIdentifier: {type: Identifier, choiceOf: value, index: 140}
                                      resource: {index: 141}
                                      part: {index: 142}
                                    required: [valueIdentifier, value]
                                relatedPerson:
                                  match: {name: relatedPerson}
                                  schema:
                                    type: BackboneElement
                                    index: 143
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: relatedPerson}
                                        index: 144
                                      value:
                                        choices: []
                                        index: 146
                                      resource: {type: RelatedPerson, index: 147}
                                      part: {index: 148}
                                    required: [resource]
                        required: [part]
            required: [part]
package_version: 1.1.0-alpha.5
class: profile
kind: resource
url: https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-add-amts-allergy-intolerance-in-parameters
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 1.1.0-rc1