PackagesCanonicalsLogsProblems
    Packages
    de.gematik.tiflow.erezept@2.0.0
    https://gematik.de/fhir/tiflow-erezept/StructureDefinition/GEM-ERPEU-PR-PAR-Close-Operation-Input
description: This profile defines the parameters for receiving dispense information for a prescription that was redeemed in the EU
package_name: de.gematik.tiflow.erezept
derivation: constraint
name: GEM_ERPEU_PR_PAR_CloseOperation_Input
type: Parameters
elements:
  parameter:
    mustSupport: true
    array: true
    min: 5
    index: 0
    slicing:
      rules: closed
      discriminator:
      - {path: name, type: pattern}
      min: 5
      slices:
        rxDispensation:
          match: {name: rxDispensation}
          schema:
            constraint:
              erp-eu-parameters-close-dispense-medication-references: {human: 'If a reference from a MedicationDispense to a Medication exists, the reference must resolve to the Medication.', source: 'https://gematik.de/fhir/tiflow-erezept/StructureDefinition/GEM-ERPEU-PR-PAR-Close-Operation-Input', severity: error, expression: 'part.where(name = ''medicationDispense'').resource.medication.ofType(Reference).reference.exists() implies ((part.where(name = ''medicationDispense'').resource.medication.reference.split(''/'').last().split('':'').last()) = (part.where(name = ''medication'').resource.id))'}
            mustSupport: true
            array: true
            min: 1
            _required: true
            index: 1
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: rxDispensation}
                index: 2
              value:
                choices: []
                index: 4
              resource: {index: 5}
              part:
                mustSupport: true
                array: true
                min: 2
                index: 6
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 2
                  slices:
                    medicationDispense:
                      match: {name: medicationDispense}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 7
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: medicationDispense}
                            index: 8
                          value:
                            choices: []
                            index: 10
                          resource: {type: MedicationDispense, index: 11}
                          part: {index: 12}
                        required: [resource]
                    medication:
                      match: {name: medication}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 13
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: medication}
                            index: 14
                          value:
                            choices: []
                            index: 16
                          resource: {type: Medication, index: 17}
                          part: {index: 18}
                        required: [resource]
        requestData:
          match: {name: requestData}
          schema:
            mustSupport: true
            _required: true
            index: 19
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: requestData}
                index: 20
              value:
                choices: []
                index: 22
              resource: {index: 23}
              part:
                mustSupport: true
                array: true
                min: 7
                index: 24
                slicing:
                  rules: closed
                  discriminator:
                  - {path: name, type: pattern}
                  min: 7
                  slices:
                    kvnr:
                      match: {name: kvnr}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 25
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: kvnr}
                            index: 26
                          value:
                            choices: [valueIdentifier]
                            index: 28
                          valueIdentifier: {type: Identifier, choiceOf: value, index: 29}
                          resource: {index: 30}
                          part: {index: 31}
                        required: [valueIdentifier, value]
                    accessCode:
                      match: {name: accessCode}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 32
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: accessCode}
                            index: 33
                          value:
                            choices: [valueIdentifier]
                            index: 35
                          valueIdentifier: {type: Identifier, choiceOf: value, index: 36}
                          resource: {index: 37}
                          part: {index: 38}
                        required: [valueIdentifier, value]
                    countryCode:
                      match: {name: countryCode}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 39
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: countryCode}
                            index: 40
                          value:
                            choices: [valueCoding]
                            index: 42
                          valueCoding: {type: Coding, choiceOf: value, index: 43}
                          value[x]:
                            elements:
                              system:
                                pattern: {type: Uri, value: 'urn:iso:std:iso:3166'}
                                index: 44
                            required: [system]
                        required: [valueCoding, value]
                    practitionerName:
                      match: {name: practitionerName}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 45
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerName}
                            index: 46
                          value:
                            choices: [valueString]
                            index: 48
                          valueString: {type: string, choiceOf: value, index: 49}
                          resource: {index: 50}
                          part: {index: 51}
                        required: [valueString, value]
                    practitionerRole:
                      match: {name: practitionerRole}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 52
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: practitionerRole}
                            index: 53
                          value:
                            choices: [valueCoding]
                            index: 55
                          valueCoding: {type: Coding, choiceOf: value, index: 56}
                          value[x]:
                            elements:
                              system: {mustSupport: true, index: 57}
                            required: [system]
                          resource: {index: 58}
                          part: {index: 59}
                        required: [valueCoding, value]
                    pointOfCare:
                      match: {name: pointOfCare}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 60
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: pointOfCare}
                            index: 61
                          value:
                            choices: [valueString]
                            index: 63
                          valueString: {type: string, choiceOf: value, index: 64}
                          resource: {index: 65}
                          part: {index: 66}
                        required: [valueString, value]
                    healthcare-facility-type:
                      match: {name: healthcare-facility-type}
                      schema:
                        type: BackboneElement
                        mustSupport: true
                        _required: true
                        index: 67
                        elements:
                          name:
                            mustSupport: true
                            pattern: {type: String, value: healthcare-facility-type}
                            index: 68
                          value:
                            choices: [valueCoding]
                            index: 70
                          valueCoding: {type: Coding, choiceOf: value, index: 71}
                          value[x]:
                            elements:
                              system: {mustSupport: true, index: 72}
                            required: [system]
                          resource: {index: 73}
                          part: {index: 74}
                        required: [valueCoding, value]
        practitionerData:
          match: {name: practitionerData}
          schema:
            mustSupport: true
            _required: true
            index: 75
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: practitionerData}
                index: 76
              value:
                choices: []
                index: 78
              resource: {type: Practitioner, index: 79}
              part: {index: 80}
        organizationData:
          match: {name: organizationData}
          schema:
            mustSupport: true
            _required: true
            index: 81
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: organizationData}
                index: 82
              value:
                choices: []
                index: 84
              resource: {type: Organization, index: 85}
              part: {index: 86}
        practitionerRoleData:
          match: {name: practitionerRoleData}
          schema:
            mustSupport: true
            _required: true
            index: 87
            elements:
              name:
                mustSupport: true
                pattern: {type: String, value: practitionerRoleData}
                index: 88
              value:
                choices: []
                index: 90
              resource: {type: PractitionerRole, index: 91}
              part: {index: 92}
package_version: 2.0.0
class: profile
kind: resource
url: https://gematik.de/fhir/tiflow-erezept/StructureDefinition/GEM-ERPEU-PR-PAR-Close-Operation-Input
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 2.0.0