PackagesCanonicalsLogsProblems
    Packages
    de.gematik.epa.medication@1.1.1
    https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-manage-note-amts-observation-in-parameters
description: EPA Operation Manage Note for an AMTS-rZI Observation Input-Parameters
package_name: de.gematik.epa.medication
derivation: constraint
name: EPAOpManageNoteAMTSObservationInParameters
type: Parameters
elements:
  parameter:
    array: true
    min: 2
    index: 0
    slicing:
      rules: closed
      discriminator:
      - {path: name, type: pattern}
      min: 2
      slices:
        note:
          match: {name: note}
          schema:
            mustSupport: true
            _required: true
            index: 1
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: note}
                index: 2
              value:
                mustSupport: true
                choices: [valueAnnotation]
                index: 4
              valueAnnotation: {type: Annotation, mustSupport: true, choiceOf: value, index: 5}
              resource: {index: 6}
              part: {index: 7}
            required: [valueAnnotation, value]
        performer:
          match: {name: performer}
          schema:
            mustSupport: true
            _required: true
            index: 8
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: performer}
                index: 9
              value:
                choices: []
                index: 11
              resource: {index: 12}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 13
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        _required: true
                        index: 14
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 15
                          value:
                            choices: []
                            index: 17
                          resource: {type: Organization, index: 18}
                          part: {index: 19}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 20
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 21
                          value:
                            choices: []
                            index: 23
                          resource: {type: Practitioner, index: 24}
                          part: {index: 25}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 26
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 27
                          value:
                            choices: []
                            index: 29
                          resource: {type: PractitionerRole, index: 30}
                          part: {index: 31}
                        required: [resource]
            required: [part]
        enterer:
          match: {name: enterer}
          schema:
            mustSupport: true
            index: 32
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: enterer}
                index: 33
              value:
                choices: []
                index: 35
              resource: {index: 36}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 37
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        index: 38
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 39
                          value:
                            choices: []
                            index: 41
                          resource: {type: Organization, index: 42}
                          part: {index: 43}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 44
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 45
                          value:
                            choices: []
                            index: 47
                          resource: {type: Practitioner, index: 48}
                          part: {index: 49}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 50
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 51
                          value:
                            choices: []
                            index: 53
                          resource: {type: PractitionerRole, index: 54}
                          part: {index: 55}
                        required: [resource]
            required: [part]
        author:
          match: {name: author}
          schema:
            mustSupport: true
            index: 56
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: author}
                index: 57
              value:
                choices: []
                index: 59
              resource: {index: 60}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 61
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        index: 62
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 63
                          value:
                            choices: []
                            index: 65
                          resource: {type: Organization, index: 66}
                          part: {index: 67}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 68
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 69
                          value:
                            choices: []
                            index: 71
                          resource: {type: Practitioner, index: 72}
                          part: {index: 73}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 74
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 75
                          value:
                            choices: []
                            index: 77
                          resource: {type: PractitionerRole, index: 78}
                          part: {index: 79}
                        required: [resource]
            required: [part]
        unconfirmedAuthor:
          match: {name: unconfirmedAuthor}
          schema:
            mustSupport: true
            index: 80
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: unconfirmedAuthor}
                index: 81
              value:
                choices: []
                index: 83
              resource: {index: 84}
              part:
                mustSupport: true
                array: true
                min: 1
                max: 3
                index: 85
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 3
                  slices:
                    organization:
                      match: {name: organization}
                      schema:
                        type: BackboneElement
                        index: 86
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: organization}
                            index: 87
                          value:
                            choices: []
                            index: 89
                          resource: {type: Organization, index: 90}
                          part: {index: 91}
                        required: [resource]
                    practitioner:
                      match: {name: practitioner}
                      schema:
                        type: BackboneElement
                        index: 92
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitioner}
                            index: 93
                          value:
                            choices: []
                            index: 95
                          resource: {type: Practitioner, index: 96}
                          part: {index: 97}
                        required: [resource]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        index: 98
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 99
                          value:
                            choices: []
                            index: 101
                          resource: {type: PractitionerRole, index: 102}
                          part: {index: 103}
                        required: [resource]
            required: [part]
        informant:
          match: {name: informant}
          schema:
            mustSupport: true
            index: 104
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: informant}
                index: 105
              value:
                choices: []
                index: 107
              resource: {index: 108}
              part:
                mustSupport: true
                index: 109
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 1
                  max: 1
                  slices:
                    professionals:
                      match: {name: professionals}
                      schema:
                        type: BackboneElement
                        index: 110
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: professionals}
                            index: 111
                          value:
                            choices: []
                            index: 113
                          resource: {index: 114}
                          part:
                            mustSupport: true
                            array: true
                            min: 1
                            max: 3
                            index: 115
                            slicing:
                              rules: closed
                              discriminator:
                              - {path: name, type: pattern}
                              min: 1
                              max: 3
                              slices:
                                organization:
                                  match: {name: organization}
                                  schema:
                                    type: BackboneElement
                                    _required: true
                                    index: 116
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: organization}
                                        index: 117
                                      value:
                                        choices: []
                                        index: 119
                                      resource: {type: Organization, index: 120}
                                      part: {index: 121}
                                    required: [resource]
                                practitioner:
                                  match: {name: practitioner}
                                  schema:
                                    type: BackboneElement
                                    index: 122
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: practitioner}
                                        index: 123
                                      value:
                                        choices: []
                                        index: 125
                                      resource: {type: Practitioner, index: 126}
                                      part: {index: 127}
                                    required: [resource]
                                practitionerRole:
                                  match: {name: practitionerRole}
                                  schema:
                                    type: BackboneElement
                                    index: 128
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: practitionerRole}
                                        index: 129
                                      value:
                                        choices: []
                                        index: 131
                                      resource: {type: PractitionerRole, index: 132}
                                      part: {index: 133}
                                    required: [resource]
                        required: [part]
                    persons:
                      match: {name: persons}
                      schema:
                        type: BackboneElement
                        index: 134
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: persons}
                            index: 135
                          value:
                            choices: []
                            index: 137
                          resource: {index: 138}
                          part:
                            mustSupport: true
                            index: 139
                            slicing:
                              rules: closed
                              discriminator:
                              - {path: name, type: pattern}
                              min: 1
                              max: 1
                              slices:
                                patient:
                                  match: {name: patient}
                                  schema:
                                    type: BackboneElement
                                    index: 140
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: patient}
                                        index: 141
                                      value:
                                        choices: [valueIdentifier]
                                        index: 143
                                      valueIdentifier: {type: Identifier, choiceOf: value, index: 144}
                                      resource: {index: 145}
                                      part: {index: 146}
                                    required: [valueIdentifier, value]
                                relatedPerson:
                                  match: {name: relatedPerson}
                                  schema:
                                    type: BackboneElement
                                    index: 147
                                    elements:
                                      name:
                                        mustSupport: true
                                        pattern: {type: String, value: relatedPerson}
                                        index: 148
                                      value:
                                        choices: []
                                        index: 150
                                      resource: {type: RelatedPerson, index: 151}
                                      part: {index: 152}
                                    required: [resource]
                        required: [part]
            required: [part]
package_version: 1.1.1
class: profile
kind: resource
url: https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-manage-note-amts-observation-in-parameters
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 1.1.1